我正在ASP.NET Web 应用程序中做一个项目。我无法将对象转换为接口(interface)。这是我的代码:
str2 = myXmlTextReader.ReadInnerXml();
Type myTypeObj = testAssembly.GetType(str2);
Object obj = Activator.CreateInstance(myTypeObj);
Imapper EM = (Imapper)obj;
在 Windows 窗体应用程序中,我没有任何问题。下面的代码也返回空值:
Imapper EM = obj as Imapper;
最佳答案
您的 Exam_Mapper
类型需要实现 IMapper
才能使代码正常工作。显然不是。或者您有两种类型,IMapper
和 Imapper
(您在问题中使用了这两个名称;可能存在拼写错误),并且您混淆了这两者。
更新尝试这个简单的示例,看看它是否有效:
interface ITest { }
class Test : ITest { }
//in a method
Object obj = new Test();
ITest test = (ITest)obj;
现在与您的情况进行比较。有什么区别?
关于c# - 无法将 Exam_Mapper 的类型转换为 IMapper 的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12282923/