我正在使用以下内容在我的代码中链接运行时的外部资源之一:
System.Reflection.Assembly assembly = System.Reflection.Assembly.LoadFrom("MyNice.dll");
Type type = assembly.GetType("MyType");
Tool = Activator.CreateInstance(type) as Tool;
现在您可以看到,在对象创建结束时,它必须将生成的对象转换为工具类,因为在我的代码中有很多对工具类的方法和属性的引用,如果不存在则代码将在编译时出错。
现在,这是一个糟糕的情况,因为我想从我的引用中删除 Dll 并在运行时动态加载它,但同时我的一些代码引用并依赖于 Tool 程序集。我怎样才能让它独立?我是否必须在我的代码中使用反射,或者那里有任何简单的替代方法?
例如:
if (Tool.ApplicationIsOpen)
return StatusResult.Success;
是否存在假定 Tool 类已经存在并且如果我从我的引用文件夹中删除它会中断的同一个类。
有什么建议吗?