2

ASP.NET Web アプリケーションでプロジェクトを行っています。 オブジェクトをインターフェイスにキャストできません。これは私のコードです:

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

Windows フォーム アプリケーションでは、問題はありません。また、以下のコードは null 値を返します。

Imapper EM = obj as Imapper;  
4

1 に答える 1

2

コードが機能するには、Exam_Mapper型を実装する必要がIMapperあります。どうやらそうではありません。それまたは2つのタイプがIMapperあり、Imapper(質問で両方の名前を使用しています。タイプミスの可能性があります)、2つを混同しています。

アップデートして、この簡単な例を試して、動作するかどうかを確認してください:

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

今あなたの状況と比較してください。違いは何ですか?

于 2012-09-05T13:48:54.590 に答える