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

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

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

白衣非少年 2019-07-12 10:31:07
属性可以在C#中动态添加吗?是否可以在运行时添加属性或在运行时更改属性的值?
查看完整描述

3 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

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


查看完整回答
反对 回复 2019-07-12
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

这取决于你到底想要实现什么。

这个System.ComponentModel.ypeDescriptorStuff可以用于向类型、属性和对象实例添加属性,并且它有一个限制,即您也必须使用它来检索这些属性。如果您正在编写使用这些属性的代码,并且可以在这些限制范围内生存,那么我肯定会建议您这样做。

据我所知,PropertyGrid控件和VisualStudio设计图面是BCL中唯一消耗TypeDescriptor的东西。事实上,这就是他们真正需要做的事情的一半。


查看完整回答
反对 回复 2019-07-12
  • 3 回答
  • 0 关注
  • 973 浏览

添加回答

举报

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