首页 新闻 会员 周边 捐助

C#特性可以动态修改吗?

0
[已关闭问题]

我自己编写了一个C#特性,并用此来表述一个类。我想在运行时动态的修改特性的值,可是似乎并没有改变,请问C#特性可以动态修改吗?

退休的程序员的主页 退休的程序员 | 初学一级 | 园豆:145
提问于:2009-03-05 08:55
< >
分享
其他回答(1)
0

每一次你取的特性,事实上都是一个独立的对象,你修改了这个,并不代表修改了特性原来的值,所以特性其实不能改

Gray Zhang | 园豆:17610 (专家六级) | 2009-03-05 21:12
0

特性所提供的信息也称为元数据,而元数据是记录在程序集中的,因此,你无法通过一般的方式在运行时修改程序集中的数据,即,特性不可改。

如果你一定要改,你可以参考System.Reflection.Emit命名空间中的类来进行修改,该命名空间中的类提供在运行时修改程序集的功能,但操作一定要小心。

草船上的稻草人 | 园豆:166 (初学一级) | 2009-03-12 13:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册