您的位置:首页 > 移动开发

关于AppDomain 创建实例进行程序集之间的通讯问题

2008-11-21 15:16 627 查看
各位高手们,我在用AppDomain 的CreateInstanceFromAndUnwrap 创建一个实例进行程序之间的通讯时,会抛异常,提示"Constructor on type 'DllResource.DeriveClass' not found.",代码如下:

private BaseClass GetTrigger(string FileName)//返回指定文件的TriggerDesignerFacade

{

try

{

AppDomainSetup info = new AppDomainSetup();

info.ApplicationName = "Load";

AllTriggersDomain = AppDomain.CreateDomain(FileName, null, info);

Domains.Add(FileName, AllTriggersDomain);

object[] parms = { FileName };

BindingFlags bindings = BindingFlags.CreateInstance | BindingFlags.Instance | BindingFlags.Public;

//创建实践实现程序集之间的通讯

var Trigger = (BaseClass)AllTriggersDomain.CreateInstanceFromAndUnwrap(FileName,

"DllResource.DeriveClass", true, bindings, null, parms, null, null, null);

//Assembly aDll = Trigger.GetLoadAssembly(FileName);

//var rc = (BaseClass)aDll.CreateInstance("DllResource.DeriveClass");

//rc.SetSettingFolder(System.IO.Path.GetDirectoryName(FileName));

//return rc;

return null;

}

catch

{

return null;

}

}

我想调用抽象类进行通讯,可是创建实例时失败,在这里BaseClass 是基类(抽象类) DeriveClass 是继承类;

我把这行代码改成:

var Trigger = (BaseClass)AllTriggersDomain.CreateInstanceFromAndUnwrap(FileName,

"DllResource.BaseClass", true, bindings, null, parms, null, null, null);

也是一样提示:"Constructor on type 'DllResource.BaseClass' not found."  

下面是我的继承类和基类的代码:

继承类:

namespace DllResource

{

class DeriveClass : BaseClass

{

public DeriveClass ()

{

}

public override void Display()

{

throw new NotImplementedException();

}

public override int Counter(int num)

{

return num++;

}

}

}

基础类:

namespace DllResource

{

public abstract class BaseClass

{

public abstract void Display();

public abstract int Counter(int num);

}

}

不知道怎么解决,请各位高手指点,在线等...................
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: