当前位置:编程学习 > C#/ASP.NET >>

关于C#中Tag属性


如图这样 把事件发送者的tag转换成对应的类型,然后改变其值后,那他原来的发送者附带的tag里的值有没有改变呢,如果没有改变,那要怎么更新这个数据呢?想目前这样重新给发送者的tag赋值可以吗?  一个C#新手,谢谢! Tag --------------------编程问答-------------------- ParamStruct应该是你定义的结构.
结构是值类型,_ps的变更当然不会修改tag,因此你那样重新赋值才行。
建议你用类去代替这个结构。
不恰当地使用结构将导致效率低下,涉及到拆箱和装箱的问题。 --------------------编程问答-------------------- 你的代码结构是没有问题的。
但是你并没有修改tag中的值,因为ecf中的值取的就是_ps中的值,传来传去都是tag的值。从未修改,怎么会变。 --------------------编程问答-------------------- 改变tag原对象的值后,以前的tag对象要保持一个引用,否则出了使用范围就可能被GC回收 --------------------编程问答-------------------- 那要看sender和selectlabel是不是一个东西了。 --------------------编程问答--------------------
引用 4 楼 caozhy 的回复:
那要看sender和selectlabel是不是一个东西了。

如果直接这么修改的话就改变了他Tag中的值了吗?
((ParamStruct)selectLabel.Tag)._SwitchClose="";
((ParamStruct)selectLabel.Tag)._SwitchOpen="";
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,