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

Kum*_*mar 11 .net c# mono metadata mono.cecil

有没有办法获取str1代码?

[MyAttribute("str1")]
class X {}
Run Code Online (Sandbox Code Playgroud)

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

pou*_*pou 15

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

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

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

type.CustomAttributes[0].ConstructorArguments[0].Value
Run Code Online (Sandbox Code Playgroud)

  • 我支持这个宏伟的答案。 (2认同)