无法将Exam_Mapper的类型转换为IMapper的类型

时间:2012-09-05 13:45:28

标签: c# asp.net casting

我正在 ASP.NET Web应用程序中执行项目。我无法将对象转换为接口。这是我的代码:

str2 = myXmlTextReader.ReadInnerXml();  
Type myTypeObj = testAssembly.GetType(str2);  
Object obj = Activator.CreateInstance(myTypeObj);  
Imapper EM = (Imapper)obj; 

在Windows窗体应用程序中,我没有任何问题。以下代码也返回空值:

Imapper EM = obj as Imapper;  

1 个答案:

答案 0 :(得分:2)

您的Exam_Mapper类型需要实施IMapper才能使代码生效。它显然没有。无论是那个,还是你有两种类型,IMapperImapper(你在问题中使用这两个名字;可能是拼写错误),你就会混淆两者。

更新尝试这个简单示例,看看它是否有效:

interface ITest { }
class Test : ITest { }
//in a method
Object obj = new Test();
ITest test = (ITest)obj;

现在比较你的情况。有什么区别?