次のコードがあります。
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!";
}
これにより、ada.myString が「機能する」ようになると思いました。メインアプリドメイン上ですが、そうではありません。MarshalByRefObject から継承することで、2 番目の appdomain で行われた変更は元の appdomain にも反映されると思いました (これは、メイン appdomain の実際のオブジェクトへの単なるプロキシになると思いました!)?
ありがとう