如何在Cecil中获取程序集的属性值

时间:2011-12-09 21:59:01

标签: c# .net mono metadata mono.cecil

有没有办法在代码中获取str1

[MyAttribute("str1")]
class X {}

Mono.Cecil.CustomAttribute.Fields的实例为空。

1 个答案:

答案 0 :(得分:15)

在.NET中使用属性时,您要么使用构造函数参数,要么设置一些(命名)字段。这在元数据中的编码方式不同,最终在Cecil中单独进行。

  

Mono.Cecil.CustomAttribute.Fields的实例为空

构造函数参数用于自定义属性时,您正在使用的是查找字段。所以你要找的是:

type.CustomAttributes[0].ConstructorArguments[0].Value