C#反思:如何从字符串获取类引用?

我想用C#做到这一点,但是我不知道怎么做:

我有一个带有类名-eg:的字符串FooClass并且我想在该类上调用一个(静态)方法:

FooClass.MyMethod();

显然,我需要通过反射找到对该类的引用,但是如何呢?

回答:

您将要使用该Type.GetType方法。

这是一个非常简单的示例:

using System;

using System.Reflection;

class Program

{

static void Main()

{

Type t = Type.GetType("Foo");

MethodInfo method

= t.GetMethod("Bar", BindingFlags.Static | BindingFlags.Public);

method.Invoke(null, null);

}

}

class Foo

{

public static void Bar()

{

Console.WriteLine("Bar");

}

}

我之所以说 简单

,是因为以这种方式很容易找到同一程序集内部的类型。请参阅乔恩的答案,以获取有关您需要了解的更详尽的解释。检索类型后,我的示例将向您展示如何调用该方法。

以上是 C#反思:如何从字符串获取类引用? 的全部内容, 来源链接: utcz.com/qa/399126.html

回到顶部