我有一些不同名称的静态类,每个类都有方法" Parse"。如何使用Reflection调用此类的方法。 我尝试使用Type.GetType(" MyClass1")但这返回null
namespace MyNameSpace{
public static class MyClass1
{
public static MyObject Parse(string id)
{
.....
return new MyObject();
}
}
public static class MyClass2
{
public static MyObject Parse(string id)
{
.....
return new MyObject();
}
}
}
答案 0 :(得分:1)
使用typeof
获取类型描述符。使用GetMethod
查找方法。 Invoke
使用null来调用static
方法。
typeof(MyClass1).GetMethod("Parse").Invoke(null, new object[] { "Parameter" });
如果必须按字符串(未指定)找到类型,则可以执行以下操作:
Type.GetType("MyNameSpace.MyClass1,Assembly");