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

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

九州编程
浏览 1337回答 2
2回答

犯罪嫌疑人X

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

呼如林

特性所提供的信息也称为元数据,而元数据是记录在程序集中的,因此,你无法通过一般的方式在运行时修改程序集中的数据,即,特性不可改。如果你一定要改,你可以参考System.Reflection.Emit命名空间中的类来进行修改,该命名空间中的类提供在运行时修改程序集的功能,但操作一定要小心。
打开App,查看更多内容
随时随地看视频慕课网APP