当前位置:编程学习 > C#/ASP.NET >>

C# interface 类型指向其子类出现问题,求助

我的问题是这样的。我定义了一个interface接口。

然后我另外写了两个dll文件分别继承了这个接口。

然后,我在程序中定义了这个接口。准备根据用户的输入选择是哪个子类。

我是这么写的。

首先使用LoadClass()载入指定的子类:
   private object LoadClass(string mClassName,string FileName)
   {
string Classname=mClassName;
string fileName=FileName;

Assembly ass=Assembly.LoadFrom(fileName);
Type tpp=ass.GetType(Classname);
         object  my=ass.CreateInstance(Classname);
         return my;
   }

然后我在主方法内是这样关联interface类和取得的这个object类型的:

         _ClassName="CropGrowth.CDevelopment";
_Compnent=LoadClass(_ClassName,_FileName);
_IDev=(CropGrowth.IDEV)_Compnent;
_IDev.IniDriveData(Varity,Manage);

但是编译器提示如下的错误:未将对象引用设置到对象的实例

请问大家,这个应该如何重写?谢谢。 --------------------编程问答-------------------- debug下,看看哪一步null了。。。要么filename没找到,要么 classname 没写对。
--------------------编程问答-------------------- 很谢谢你的回复。但是你说的这个方法,我已经测试过了。

我想问一下,在c#中,一个interface 能否通过 Assembly 的LoadFrom()方法载入他的子类的dll文件?

谢谢 --------------------编程问答-------------------- ass.CreateInstance(Classname); 顾名思义,只有类才能实例化,你得输入类名,如果这样,为什么不用基类继承的方式呢
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,