Мне нужно вызвать функцию для вызова dll пользователя в C #.
Например, когда пользователь создает файл abc.dll с классом ABC, я хочу загрузить dll для запуска методов xyz (a) в классе.
object plugInObject = node.GetPlugInObject("abc.dll", "ABC");
plugInObject.runMethod("xyz", "a");
Как я могу реализовать эти функции в C #?
ДОБАВЛЕНО
Это код плагина, а dll копируется как plugin / plugin.dll.
namespace HIR
{
public class PlugIn
{
public int Add(int x, int y)
{
return (x + y);
}
}
}
Это тот, кто вызывает этот плагин.
using System;
using System.Reflection;
class UsePlugIn
{
public static void Main()
{
Assembly asm = Assembly.LoadFile("./plugin/plugin.dll");
Type plugInType = asm.GetType("HIR.PlugIn");
Object plugInObj = Activator.CreateInstance(plugInType);
var res = plugInType.GetMethod("Add").Invoke(plugInObj, new Object[] { 10, 20 });
Console.WriteLine(res);
}
}