CJ7*_*CJ7 4 .net c# oop assemblies static-members
如果我有以下课程:
public class MyClass { public static int MyStaticInt = 0; }
Run Code Online (Sandbox Code Playgroud)
如果在一个解决方案中我MyNameSpace.MyClass.MyStaticInt在两个不同的程序集中引用,我指的是同一个变量吗?
static 根据具体情况,可能意味着几件事.
AppDomain.ThreadStatic属性修饰,则每个线程获得一个值的实例.对于您的示例代码,第一个条件似乎是这种情况.在所有情况下,定义数据的特定程序集没有任何区别.
是的,每个类的每个进程只有一个实例。
对此需要注意的是,当您拥有泛型类时,每个泛型类实例都有一个变量实例。即,您将拥有一个 MyGenericClass 实例和一个 MyGenericClass 实例。
编辑
事实上,每个 AppDomain 都有一个实例,因此您可以通过自己创建 AppDomain 的多个副本来创建多个副本。