Gab*_*iel 3 c# attributes object typedescriptor
我尝试在某个对象上添加属性.该对象可以是int,string,List等等.
我试着用
TypeDescriptor.AddAttributes(object, attrList.ToArray());
但是当我这样做时,这个属性列表不显示:
object.GetType().GetCustomAttributes(false)
怎么会?
最好的祝福,
加布里埃尔保罗森
不幸的是,此方法不会动态更改类型的元数据,最终它只会返回一个包含您添加的属性的TypeDescriptor.
您需要保留AddAttributes方法和查询的返回值,而不是......
var myObject = { ... }
var typeDescriptionProvider = TypeDescriptor.AddAttributes(myObject, attrList.ToArray());
var attributes = typeDescriptionProvider.GetTypeDescriptor(myObject).GetAttributes();
Run Code Online (Sandbox Code Playgroud)
您可以将类型描述符视为类型元数据本身(已修复)的联合,以及您在运行时添加的任何元数据(动态).