我制作了一个生成器类,它基于实现接口的接口构建代理类。
请参阅我关于基于接口构建代理类而不实现它的帖子。
我很熟悉CustomAttributeData.GetCustomAttributes(MemberInfo target)
,我在阅读接口的成员并成功将它们导入代理时使用它。
我想在运行时向生成的类注入额外的属性。我要求属性实例将它们注入代理。
例如:
开发人员可以将其作为值传递:new ObsoleteAttribute("Demo", true)
,(它有一个空的构造函数,但属性是只读的),我想将其转换为:
return new CustomAttributeBuilder(
attribute.GetType().GetConstructor(Type[] {typeof (string), typeof (bool)}),
new object[] {"Demo", true},
new FieldInfo[0],
new object[0]);
请记住,我不知道给出了什么。