把泛型传给泛型方法。

public List GetPageData(Reader RetReader)
{
    //正常调用Extends.ToList(Reader RetReader);
    ToList list = Extends.ToList(RetReader);

    //传递泛型
    Type t = typeof(Extends);
    MethodInfo mi = t.GetMethod("ToList", new Type[1] { RetReader.GetType()  }).MakeGenericMethod(typeof(T));
    list = (List)mi.Invoke(t, new object[] { RetReader });
    return list;
}

 

 适用情况,创建的泛型方法中调用泛型方法,并把泛型传给泛型方法。

你可能感兴趣的:(C#)