10

次のコードがあります。

    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 の実際のオブジェクトへの単なるプロキシになると思いました!)?

ありがとう

4

1 に答える 1