.net 如何获取TypeReference的泛型参数?

.net 如何获取TypeReference的泛型参数?,.net,reflection,mono.cecil,.net,Reflection,Mono.cecil,Mono.Cecil中的类型专门化是通过子类化实现的 #load "load-references-release.fsx" open Mono.Cecil open Mono.Cecil.Rocks let mscorlib_path = @"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll" let mscorlib = AssemblyDefinition.ReadAssembly(mscorlib_path).M

Mono.Cecil中的类型专门化是通过子类化实现的

#load "load-references-release.fsx"

open Mono.Cecil
open Mono.Cecil.Rocks

let mscorlib_path = @"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll"
let mscorlib = AssemblyDefinition.ReadAssembly(mscorlib_path).MainModule

let task = mscorlib.Types |> Seq.find (fun x -> x.Name = "Task`1")

let task_cons = task.GetConstructors()

let con =
    task_cons
    |> Seq.toArray
    |> fun x -> x.[8]

con.Parameters.[0].ParameterType
TypeReference类型=。。。;
if(type.IsGenericInstance){
GenericInstanceType实例=(GenericInstanceType)类型;
IList genericArguments=instance.genericArguments;
}

Mono.Cecil中的类型专门化是通过子类化实现的

#load "load-references-release.fsx"

open Mono.Cecil
open Mono.Cecil.Rocks

let mscorlib_path = @"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll"
let mscorlib = AssemblyDefinition.ReadAssembly(mscorlib_path).MainModule

let task = mscorlib.Types |> Seq.find (fun x -> x.Name = "Task`1")

let task_cons = task.GetConstructors()

let con =
    task_cons
    |> Seq.toArray
    |> fun x -> x.[8]

con.Parameters.[0].ParameterType
TypeReference类型=。。。;
if(type.IsGenericInstance){
GenericInstanceType实例=(GenericInstanceType)类型;
IList genericArguments=instance.genericArguments;
}
TypeReference type = ...;
if (type.IsGenericInstance) {
    GenericInstanceType instance = (GenericInstanceType) type;
    IList<TypeReference> genericArguments = instance.GenericArguments;
}