Mono.Cecil - 从 System.Type 获取 TypeReference

tom*_*ski 3 .net c# mono.cecil

是否有可能获得TypeReferenceTypeDefinition分配给System.Type变量的类型?

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

Custom(Value=typeof(String))]
        public string SomeProperty {get; set;}
Run Code Online (Sandbox Code Playgroud)

Vag*_*aus 5

您可以使用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}");
Run Code Online (Sandbox Code Playgroud)