У меня есть следующий код:
public class AppDomainArgs : MarshalByRefObject {
public string myString;
}
static AppDomainArgs ada = new AppDomainArgs() { myString = "abc" };
static void Main(string[] args) {
AppDomain domain = AppDomain.CreateDomain("Domain666");
domain.DoCallBack(MyNewAppDomainMethod);
Console.WriteLine(ada.myString);
Console.ReadKey();
AppDomain.Unload(domain);
}
static void MyNewAppDomainMethod() {
ada.myString = "working!";
}
Я думал, что make это заставит мою ada.myString работать! на главном домене приложения, но это не так. Я думал, что при наследовании от MarshalByRefObject любые изменения, сделанные во втором домене приложения, будут отражаться и в исходном (я думал, что это будет просто прокси для реального объекта в главном домене приложения!)?
Спасибо