c#

如何在C#中使用反射来动态加载程序集

小樊
84
2024-08-18 04:37:37
栏目: 编程语言

在C#中,可以使用反射来动态加载程序集。以下是一个简单的示例代码:

using System;
using System.Reflection;

class Program
{
    static void Main()
    {
        // 加载程序集
        Assembly assembly = Assembly.LoadFile(@"C:\path\to\your\assembly.dll");

        // 获取程序集中的类型
        Type type = assembly.GetType("YourNamespace.YourClass");

        // 创建类型的实例
        object instance = Activator.CreateInstance(type);

        // 调用类型的方法
        MethodInfo method = type.GetMethod("YourMethod");
        method.Invoke(instance, null);
    }
}

在上面的示例中,首先加载了一个程序集并获取了程序集中的类型。然后使用Activator类的CreateInstance方法创建了类型的实例。最后使用反射调用了该类型的方法。

需要注意的是,动态加载程序集需要确保程序集文件存在并且路径正确。另外,反射在性能上可能会有一定的影响,因此在实际使用中需要谨慎考虑。

0
看了该问题的人还看了