将枚举设置为C#类中的另一个枚举
我目前正在开发一个C#程序,该程序使用了相当多的枚举。它的组织方式是,一个类包含许多枚举,其中有几个类。但是,两个枚举之间有一对相同的枚举——出于组织目的,最好有一个“SharedEnums”类,然后执行如下操作:将枚举设置为C#类中的另一个枚举,c#,.net,class,enums,C#,.net,Class,Enums,我目前正在开发一个C#程序,该程序使用了相当多的枚举。它的组织方式是,一个类包含许多枚举,其中有几个类。但是,两个枚举之间有一对相同的枚举——出于组织目的,最好有一个“SharedEnums”类,然后执行如下操作: public class FirstEnumCollection { public enum Fruits = SharedEnums.Fruits; //insert non-shared enums here } public class FirstEnumCo
public class FirstEnumCollection {
public enum Fruits = SharedEnums.Fruits;
//insert non-shared enums here
}
public class FirstEnumCollection {
public enum Fruits = SharedEnums.Fruits;
//insert non-shared enums here
}
public class SharedEnums {
public enum Fruits {
Apple,
Pear
}
}
这样,我们就不会在类之间多次声明相同的枚举,而更改共享枚举将更改这两个类中的枚举。我已经尝试了我的示例的几个变体,但运气不佳,我相当确定它无法完成,但希望得到确认。一个
enum
不需要“属于”一个类。您可以在任何类之外声明它:
public enum Fruits {
Apple,
Pear
}
然后在任何类中使用它 一个
enum
不需要“属于”一个类。您可以在任何类之外声明它:
public enum Fruits {
Apple,
Pear
}
然后在任何类中使用它 可以在命名空间范围内定义枚举,您不需要在类内创建枚举。您可以想象一个枚举,比如一个结构或一个类,它是您可以在代码中使用的类型。因此,在名称空间范围中定义它
namespace MyCode
{
public enum Days { M, T, W, T, F, Sa, Su }
}
枚举可以在命名空间范围内定义,不需要在类内创建枚举。您可以想象一个枚举,比如一个结构或一个类,它是您可以在代码中使用的类型。因此,在名称空间范围中定义它
namespace MyCode
{
public enum Days { M, T, W, T, F, Sa, Su }
}
为什么不直接使用它?您甚至不需要将枚举放在类中为什么不直接使用它?您甚至不需要将枚举放在类中该类更像是一个组织工具--所有枚举都在某些“MyEnums”命名空间中声明,每个类都表示枚举将在应用程序中使用的位置(我在这里对名称进行了简化)。因此,枚举从不直接在“FirstEnumCollection”中使用,而是由其他类使用。在这种情况下,不需要将类用作命名空间。这对于常量是必需的,但对于枚举不是必需的。名称空间的存在主要是为了这个目的。但是当你有两个同名的实体时,它们主要会消除歧义。但是,如果有两个相同的枚举,并且希望将其中一个设置为另一个相等,则不需要这样做。只是增加了维护。最好只有一个。该类更像是一个组织工具,而不是任何东西——所有枚举都在一些“MyEnum”命名空间中声明,每个类都表示枚举将在应用程序中使用的位置(我在这里对名称进行了简化)。因此,枚举从不直接在“FirstEnumCollection”中使用,而是由其他类使用。在这种情况下,不需要将类用作命名空间。这对于常量是必需的,但对于枚举不是必需的。名称空间的存在主要是为了这个目的。但是当你有两个同名的实体时,它们主要会消除歧义。但是,如果有两个相同的枚举,并且希望将其中一个设置为另一个相等,则不需要这样做。只是增加了维护。最好只买一个。