2017-02-20 9 views
2

저는 ModuleStatic, Loader 및 ModuleA 및 ModuleB의 네 가지 어셈블리가 있습니다. 이들 모두는 실행 파일 인 Loader 외에 DLL입니다. DLL ModuleStatic에서 정적 클래스가 AppDomain간에 공유되어 있습니까?

: 로더, 및 ModuleA ModuleB에서

public class ModuleStatic { 
    public static string Foo { get; set; } = "Foo";  
} 

각각 도마 및 domB에 Assembly.Load과의 AppDomain으로 로딩 될 것이다. ModuleA가 ModuleStatic.Foo 변수를 수정 한 경우 domB에있는 ModuleB가 수정 사항을 수신합니까?

답변

4

아니요, 변수는 정적이든 아니든간에 AppDomain에서 공유되지 않습니다. 예를 들어 MarshalByRefObject으로 설정하고 정적 '인스턴스'를 복사하는 등 일부 인스턴스를 수행하지 않는 한 인스턴스는 자신의 AppDomain 내에 살며, 교차하지 않습니다.

+0

... 또는 정적 필드/속성을 포함하는 유형이'[Serializable]' – tommed