首页 >后端开发 >C++ >如何使用反射从字符串中检索 C# 类引用?

如何使用反射从字符串中检索 C# 类引用?

Linda Hamilton
Linda Hamilton原创
2025-01-14 11:49:43545浏览

How Can I Retrieve a C# Class Reference from a String Using Reflection?

利用C#反射从字符串中获取类引用

在C#中,从字符串获取类引用需要用到反射机制。以下是实现方法:

使用Type.GetType方法:

  1. Type.GetType("FooClass"):获取与指定字符串(例如,“FooClass”)对应的Type实例。
  2. Invoke():要调用静态方法,例如FooClass.MyMethod(),可以使用Invoke()方法在检索到的MethodInfo对象上调用。

示例:

<code class="language-csharp">using System;
using System.Reflection;

class Program
{
    static void Main()
    {
        // 获取Type实例
        Type t = Type.GetType("FooClass");

        // 获取静态方法的MethodInfo
        MethodInfo method = t.GetMethod("MyMethod", BindingFlags.Static | BindingFlags.Public);

        // 调用方法
        method.Invoke(null, null);
    }
}

class FooClass
{
    public static void MyMethod()
    {
        Console.WriteLine("MyMethod invoked via reflection!");
    }
}</code>

此方法直接从字符串中检索类引用并调用该类的静态方法。

以上是如何使用反射从字符串中检索 C# 类引用?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn