Ste*_*Fan 2 c# reflection appdomain
我有四个程序集,ModuleStatic,Loader以及ModuleA和ModuleB,除了可执行程序Loader之外,它们都是DLL。
在DLL ModuleStatic中:
public class ModuleStatic {
public static string Foo { get; set; } = "Foo";
}
Run Code Online (Sandbox Code Playgroud)
在Loader中,将通过Assembly.Load和AppDomain将ModuleA和ModuleB分别加载到domA和domB。如果ModuleA修改了ModuleStatic.Foo变量,则domB中的ModuleB会收到修改吗?
不,无论是静态变量还是非静态变量,都不会在AppDomain
s之间共享。实例位于其自己的AppDomain中,除非您为此做一些工作(例如,通过制作MarshalByRefObject
实例并复制静态“实例”),否则它们不会交叉。
归档时间: |
|
查看次数: |
984 次 |
最近记录: |