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#
专家那里获得一些观点,了解为什么必须在static
class
对象中创建成员变量static
以提供访问权限。
(注意: MSDN常见问题解答包含一个非成员变量的示例static
class
,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
使用有关,所以我认为一个帖子是最合适的。