我有一个我试图通过使用 Assembly 和 Activator 实例化的类,这个类实现了一个接口,但是当我通过一个检查类是否实现它的条件来运行类的实例时,我得到了错误。可能是什么问题呢?
我正在检查实现的代码:
string className = MyClass;
Type type = null;
Assembly assembly = Assembly.LoadFile("@C:\\MyDLL", new Evidence(AppDomain.CurrentDomain.Evidence));
type = assembly.GetType(className);
object instance = Activator.CreateInstance(type);
//never makes it past this conditional
if (!(instance is MyInterface)
{
//It always endsup in here, when it shouldn't.
System.Writeline("ERROR");
}
else{
//This is what needs to happen
}
MyClass 类的代码在所有这些范围之外,在 MyDLL 中
public class MyClass: MyInterface
{
//Contents irrelevent to my problem
}
我不知道为什么这没有通过条件。我可以实例化类错误吗?还要注意的是,在使用 Assembly/Activator 和使用接口方面,我是个大菜鸟。