【发布时间】:2013-08-24 12:47:40
【问题描述】:
我在运行时在我的代码中使用如下方式链接外部资源之一:
System.Reflection.Assembly assembly = System.Reflection.Assembly.LoadFrom("MyNice.dll");
Type type = assembly.GetType("MyType");
Tool = Activator.CreateInstance(type) as Tool;
现在您可以看到,在对象创建结束时,它必须将生成的对象转换为工具类,因为在我的代码中有很多对工具类的方法和属性的引用,如果它是没有,那么代码将在编译时出错。
现在,这是一个糟糕的情况,因为我想从我的引用中删除 Dll 并在运行时动态加载它,但同时我的代码片段引用并依赖于工具程序集。我怎样才能让它独立?我必须在我的代码中使用反射还是有任何简单的替代方法?
例如:
if (Tool.ApplicationIsOpen)
return StatusResult.Success;
是否存在假定 Tool 类已经存在并且如果我从我的引用文件夹中删除它会中断的同一类中。
有什么建议吗?
【问题讨论】:
标签: c# .net runtime dynamic-linking compile-time