有没有办法在代码中获取str1
?
[MyAttribute("str1")]
class X {}
Mono.Cecil.CustomAttribute.Fields
的实例为空。
答案 0 :(得分:15)
在.NET中使用属性时,您要么使用构造函数参数,要么设置一些(命名)字段。这在元数据中的编码方式不同,最终在Cecil中单独进行。
Mono.Cecil.CustomAttribute.Fields的实例为空
当构造函数参数用于自定义属性时,您正在使用的是查找字段。所以你要找的是:
type.CustomAttributes[0].ConstructorArguments[0].Value