我有以下代码:
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 有“工作”!在主 appdomain 上,但它没有。我认为通过从 MarshalByRefObject 继承,对第二个 appdomain 所做的任何更改也会反映在原来的那个中(我认为这只是主 appdomain 上真实对象的代理!)?
谢谢