类中的C#公共枚举
我有一个包含公共枚举类的程序,如下所示:
public class Card { public enum card_suits { Clubs, Hearts, Spades, Diamonds } ...
我想在我的项目中的其他地方使用,但不能使用Card.card_suit。 有谁知道是否有方法在C#中声明这个,以便我能够声明
card_suits suit;
没有引用它所在的类?
目前,你的enum
嵌套在你的Card
类中。 你所要做的就是将enum
的定义移出类:
// A better name which follows conventions instead of card_suits is public enum CardSuit { Clubs, Hearts, Spades, Diamonds } public class Card { }
指定:
从card_suits
到CardSuit
的名称已经提出,因为微软的指导方针build议使用Pascal Enumeration案例,单数forms在这种情况下更具描述性(因为复数forms表明您通过ORing存储多个枚举值)。
你需要在类之外定义枚举。
public enum card_suits { Clubs, Hearts, Spades, Diamonds } public class Card { // ...
话虽如此,你也可以考虑使用Enums的标准命名规则,因为build议使用Pascal Casing,而不是使用Card_suits,而且枚举不用FlagsAttribute标记,这表明多个值适用于单个variables。
只要在类的边界之外声明枚举。 喜欢这个:
public enum card_suits { Clubs, Hearts, Spades, Diamonds } public class Card { ... }
请记住, 枚举是一种types。 如果这个枚举将被其他类使用,你也可以考虑把枚举放在它自己的文件中。 (你正在编写一个纸牌游戏,西装是卡的一个非常重要的属性,在结构良好的代码中,需要被许多类访问)。
只需在类定义之外声明它。
如果你的名字空间的名字是X,你将能够通过X.card_suit访问枚举的值
如果你没有为这个枚举定义一个命名空间,只需通过card_suit.Clubs等来调用它们。
将枚举定义移到类外,但在当前名称空间内。 宣布它是公开的,从那里可以全球访问。 http://www.LearnVisualStudio.Netvideo为学习C#初学者提供了一个很好的例子。; 我认为这也可以访问www.microsoftvirtualacademy.com在相同的C#初学者系列。
话虽如此,请使用Pascal或Carmel案例命名惯例,使您的代码可读,避免模糊。 例如CardSuit是首选。
我想这是你想要的。
using card_suits = Card.card_suits;