在 C# 中,从程序集及其依赖项创建实例的方法是使用反射。反射是一种在运行时检查和操作程序集、类型、方法和属性等元数据的技术。以下是一个简单的示例,说明如何在 C# 中使用反射创建实例:
using System;
using System.Reflection;
class Program
{
static void Main(string[] args)
{
// 加载程序集
Assembly assembly = Assembly.LoadFrom("path/to/your/assembly.dll");
// 获取类型
Type type = assembly.GetType("YourNamespace.YourClass");
// 创建实例
object instance = Activator.CreateInstance(type);
// 调用方法
MethodInfo methodInfo = type.GetMethod("YourMethod");
object result = methodInfo.Invoke(instance, new object[] { "parameter1", "parameter2" });
// 输出结果
Console.WriteLine(result);
}
}
在这个示例中,我们首先使用 Assembly.LoadFrom
方法加载程序集。然后,我们使用 Assembly.GetType
方法获取程序集中的类型。接下来,我们使用 Activator.CreateInstance
方法创建类型的实例。最后,我们使用 Type.GetMethod
方法获取类型中的方法,并使用 MethodInfo.Invoke
方法调用该方法。
请注意,这个示例仅适用于公共类、公共方法和公共属性。如果您需要访问私有成员,请使用 BindingFlags
参数来调整反射的行为。
在使用反射时,请注意以下几点:
领取专属 10元无门槛券
手把手带您无忧上云