3 回答

TA貢獻(xiàn)1797條經(jīng)驗 獲得超6個贊
進(jìn)一步來說
AppDomain domain = AppDomain.CreateDomain("New domain name");
//Do other things to the domain like set the security policy
string pathToDll = @"C:\myDll.dll"; //Full path to dll you want to load
Type t = typeof(TypeIWantToLoad);
TypeIWantToLoad myObject = (TypeIWantToLoad)domain.CreateInstanceFromAndUnwrap(pathToDll, t.FullName);
如果一切正常(沒有引發(fā)異常),您現(xiàn)在將TypeIWantToLoad實(shí)例加載到新域中。您擁有的實(shí)例實(shí)際上是一個代理(因為實(shí)際對象位于新域中),但是您可以像使用普通對象一樣使用它。
注意:據(jù)我所知,TypeIWantToLoad必須從MarshalByRefObject繼承。

TA貢獻(xiàn)1856條經(jīng)驗 獲得超17個贊
您可以使用AppDomain.CreateInstance方法來執(zhí)行此操作。您需要調(diào)用ObjectHandle的Unwrap方法,該方法將返回以獲取實(shí)際對象。
- 3 回答
- 0 關(guān)注
- 964 瀏覽
添加回答
舉報