.Net静态类属性范围与运行时有关

时间:2010-11-10 15:35:05

标签: .net static runtime

假设我在一台计算机上运行了两个.Net应用程序。两个应用程序都访问类中的静态属性。按顺序考虑以下场景:

<小时/> 申请A

FooClass.MyStaticString = "A";

申请B

FooClass.MyStaticString = "B";

申请A

Console.WriteLine(FooClass.MyStaticString);

结果是“A”还是“B”?我只是好奇如何静态.Net静态确实是。

1 个答案:

答案 0 :(得分:4)

它们仅限于特定AppDomain。每个应用程序至少都有自己唯一的AppDomain,因此静态属性/字段在应用程序之间共享。结果就是“A”。同样,如果您在一个进程中启动多个AppDomain,则不会在这些进程之间共享静态属性/字段。