2011-08-31 49 views
4

因爲並非我要實例化的類中使用的所有類都是可序列化的,所以我無法展開。從應用程序域展開不可序列化的類

這可能嗎?

var appdom = AppDomain.CreateDomain(amServiceable.GetType().ToString()); 
var objectHandle = appdom.CreateInstance(amServiceable.GetType().Assembly.FullName, 
             amServiceable.GetType().FullName); 


var plugin = objectHandle.Unwrap() as IPlugin //throws an error. that some class in not marked serializable. 

回答

5

爲了使用Unwrap方法的對象必須從MarshalByRefObject派生上。如果要操作的對象不是唯一的其他選擇,則使用不同的MarshalByRefObject來操作其他域中的對象

相關問題