MSDN 常见问题解答和其他 基本 指南似乎忽略了四个关于静态变量的快速问题。
是
public static一样的static public吗?
例如public static class Globals {...}
与static public class Globals {...}
相同?不同的?似乎 - 像函数一样 - in 中的变量
public static class需要C#通过类的命名全局实例public static在其他类中看到状态。static为什么是这样?从幼稚的角度来看,这似乎是不直观的(它似乎public static class会提供 的单个public实例class,其中包含可用的任何公共变量)。显然情况并非如此,所以我想从C#专家那里获得一些观点,了解为什么必须在staticclass对象中创建成员变量static以提供访问权限。
(注意: MSDN常见问题解答包含一个非成员变量的示例staticclass,static但没有讨论如果有任何差异有什么static拥有的成员public static class。)(即,如果双重static身份有任何后果怎么办?)
例如
public static class Globals { public static Camera camera1; }//doubly static是否存在过适合 a 中的
public非static函数的public static class情况?我看你是不想暴露一些东西,但是private在这种情况下你不就是想把它们弄出来吗?(示例越简单越好,我是自学成才的,C#并且仍在尝试理解更复杂的主题,例如反射等)奇怪的是,通过命名的全局实例,在没有关键字的情况下,a
public enum内部public static class也是可见的。static为什么static这里没有强制执行典型要求?public enum如果我使用可见而不是 a ,我应该担心什么public static enum吗?public static class Globals { public enum Dummy { Everything=42}; }//Enum is visible w/out static!
提前致谢。并为多个问题道歉,我在是否将其拆分为多个帖子时犹豫不决,但这都与C# static使用有关,所以我认为一个帖子是最合适的。