如果我只获得类字符串名称,如何在静态类上调用方法?

时间:2013-05-02 14:20:18

标签: c# reflection

例如,我有一个字符串列表恰好是静态类的名称,并且根据选择的字符串名称,我只想使用该静态类。我知道在静态类上调用的方法是什么,并且每个类都是相同的。

如果字符串为“x”,“y”,“z”且所选字符串为“z”且方法名为process(),那么在我的代码中它将调用x.process() in某种方式,x是实际静态类的名称。

请记住这些是static类。

1 个答案:

答案 0 :(得分:7)

您可以使用反射,但请namespace包含class名称。

Type type = Type.GetType("namespace.x");
MethodInfo process = type.GetMethod("process");
process.Invoke(null, null);