代码之家  ›  专栏  ›  技术社区  ›  Jeff LaFay

.NET静态类属性作用域,因为它属于运行时

  •  1
  • Jeff LaFay  · 技术社区  · 15 年前

    假设我在一台机器上运行两个.NET应用程序。两个应用程序都访问类中的静态属性。按顺序考虑以下情况:


    应用程序A
    FooClass.MyStaticString = "A";
    

    应用程序B

    FooClass.MyStaticString = "B";
    

    应用程序A

    Console.WriteLine(FooClass.MyStaticString);
    

    结果是“A”还是“B”?我只是好奇 怎样 静态.NET静态实际上是。

    1 回复  |  直到 15 年前
        1
  •  4
  •   Pete    15 年前

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

    推荐文章