我自己编写了一个C#特性,并用此来表述一个类。我想在运行时动态的修改特性的值,可是似乎并没有改变,请问C#特性可以动态修改吗?
每一次你取的特性,事实上都是一个独立的对象,你修改了这个,并不代表修改了特性原来的值,所以特性其实不能改
特性所提供的信息也称为元数据,而元数据是记录在程序集中的,因此,你无法通过一般的方式在运行时修改程序集中的数据,即,特性不可改。
如果你一定要改,你可以参考System.Reflection.Emit命名空间中的类来进行修改,该命名空间中的类提供在运行时修改程序集的功能,但操作一定要小心。