我有一个类(我无法修改)可以简化为:
public class Foo<T> {
public static string MyProperty {
get {return "Method: " + typeof( T ).ToString(); }
}
}
我想知道当我只有一个时如何调用此方法System.Type
IE
Type myType = typeof( string );
string myProp = ???;
Console.WriteLinte( myMethodResult );
我试过的:
我知道如何用反射实例化泛型类:
Type myGenericClass = typeof(Foo<>).MakeGenericType(
new Type[] { typeof(string) }
);
object o = Activator.CreateInstance( myGenericClass );
但是,由于我使用的是静态属性,因此实例化一个类是否合适?如果我无法编译时间转换,如何访问该方法?(System.Object 没有定义static MyProperty
)
编辑 我在发布后意识到,我正在使用的类是一个属性,而不是一个方法。我为混乱道歉