Mono.Cecil - 从System.Type获取TypeReference

时间:2018-01-29 09:24:13

标签: c# .net mono.cecil

是否可以将TypeReferenceTypeDefinition类型分配给System.Type变量?

更具体一点,我正试图从以下属性定义中获取String类型:

Custom(Value=typeof(String))]
        public string SomeProperty {get; set;}

1 个答案:

答案 0 :(得分:2)

您可以使用 ModuleDefinition.ImportReference()

var a = AssemblyDefinition.ReadAssembly(typeof(Program).Assembly.Location);
var type = typeof(string);
var tr = a.MainModule.ImportReference(type);
var td = tr.Resolve();
Console.WriteLine($"tr = {tr}\ntd = {td}");