要将参数传递给通过Assembly.CreateInstance加载的C#插件,您可以在插件类中定义一个接收参数的构造函数。以下是一个简单的示例:
public class MyPlugin
{
private string _parameter;
public MyPlugin(string parameter)
{
_parameter = parameter;
}
public void DoSomething()
{
// 使用_parameter进行操作
}
}
using System;
using System.Reflection;
public class Program
{
public static void Main()
{
string pluginPath = "path/to/plugin.dll";
string parameter = "Hello, Plugin!";
Assembly assembly = Assembly.LoadFrom(pluginPath);
Type pluginType = assembly.GetType("MyPlugin");
object pluginInstance = Activator.CreateInstance(pluginType, parameter);
MethodInfo methodInfo = pluginType.GetMethod("DoSomething");
methodInfo.Invoke(pluginInstance, null);
}
}
这样,插件类的实例就会使用传递的参数进行初始化。在这个例子中,插件类的DoSomething方法可以访问_parameter变量,并根据需要进行操作。
领取专属 10元无门槛券
手把手带您无忧上云