加载程序集、查找类和调用run()方法的正确方法

加载程序集、查找类和调用run()方法的正确方法

示例控制台程序。

class Program{
    static void Main(string[] args)
    {
        // ... code to build dll ... not written yet ...
        Assembly assembly = Assembly.LoadFile(@"C:\dyn.dll");
        // don't know what or how to cast here
        // looking for a better way to do next 3 lines
        IRunnable r = assembly.CreateInstance("TestRunner");
        if (r == null) throw new Exception("broke");
        r.Run();

    }}

我想动态构建一个程序集(.dll),然后加载程序集,实例化一个类,并调用该类的run()方法。我是否应该尝试将TestRunner类转换为某种类型?不确定一个程序集中的类型(动态代码)如何知道我在我的(静态程序集/shell应用程序)中的类型。仅仅使用几行反射代码来调用一个对象上的run()会更好吗?代码应该是什么样子的?

更新:William Edmondson-见评论


心有法竹
浏览 511回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP