使用Reflection C#在静态类中调用方法

时间:2014-05-04 06:35:30

标签: c#

我有一些不同名称的静态类,每个类都有方法" 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();
    }
}
}

1 个答案:

答案 0 :(得分:1)

使用typeof获取类型描述符。使用GetMethod查找方法。 Invoke使用null来调用static方法。

typeof(MyClass1).GetMethod("Parse").Invoke(null, new object[] { "Parameter" });

如果必须按字符串(未指定)找到类型,则可以执行以下操作:

Type.GetType("MyNameSpace.MyClass1,Assembly");
相关问题