为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

九州编程 2018-11-07 09:01:40
我自己编写了一个C#特性,并用此来表述一个类。我想在运行时动态的修改特性的值,可是似乎并没有改变,请问C#特性可以动态修改吗?
查看完整描述

2 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

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

查看完整回答
反对 回复 2018-11-12
?
呼如林

TA贡献1798条经验 获得超3个赞

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

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


查看完整回答
反对 回复 2018-11-12
  • 2 回答
  • 0 关注
  • 1380 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信