可以通过该方法来实现程序插件化。

 

假设A,B两个类,A类为宿主,B类为插件需要加载到A类中:

 

class Program
{
    public interface IHellow
    {
        void Hellow();
    }

    static void Main(string[] args)
    {
        Assembly ass = Assembly.LoadFrom("D:/xx.dll");
        var wormMain = ass.GetTypes().FirstOrDefault(m => m.GetInterface(typeof(IHellow).Name) != null);
        var tmpObj = (IHellow)Activator.CreateInstance(wormMain);

        tmpObj.Hellow();

        Console.Read();
    }
}
A类为宿主类

相关文章: