c# - 无法将 Exam_Mapper 的类型转换为 IMapper 的类型

标签 c# asp.net casting

我正在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 才能使代码正常工作。显然不是。或者您有两种类型,IMapperImapper(您在问题中使用了这两个名称;可能存在拼写错误),并且您混淆了这两者。

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

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/

相关文章:

c# - C# 7 中的 C# 匿名类型是否多余

c# - Mono Evaluator类

javascript - 循环遍历 asp :GridView data using javascript

c++ - 这是 Actor 还是建筑?

c# - C#动态指定类型

c# - 如何将 Ilist 转换为 ArrayList?

c# - Xamarin Mono ClientWebSocket 实现不适用于安全套接字

c# - 如何让一个简单的超链接在 XAML 中工作?

ASP.NET 2.0 网站出现 ThreadAbortException

Jquery UI 自动完成 MultiSelect 不起作用