我正在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;

最佳答案

您的Exam_Mapper类型需要实现IMapper才能使代码起作用。显然不是。要么,要么您有两种类型,IMapperImapper(您在问题中同时使用了这两个名称;可能是拼写错误),并且使这两者混淆了。

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

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


现在比较您的情况。有什么不同?

09-19 06:50