属性可以在C#中动态添加吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (29)

是否可以在运行时添加属性或在运行时更改属性的值?

提问于
用户回答回答于

属性是静态元数据。程序集、模块、类型、成员、参数和返回值不是C#中的头等对象(例如,System.Type类仅仅是一种类型的反射表示)。你可以为类型获取属性的实例,如果属性是可写的,则可以更改它们,但这不会影响属性,因为它被应用于类型。

用户回答回答于

System.ComponentModel.TypeDescriptor东西可以用来添加属性类型,属性和对象实例,它有,你必须用它来读取这些属性以及限制。如果你正在编写使用这些属性的代码,并且你可以在这些限制之内生存,那么我肯定会建议它。

扫码关注云+社区