我有一个枚举音高和一个类音高,对我来说自然都应该这样命名,但是两者都有相同名称会令人困惑。当枚举的名称与班级类型发生冲突时,是否有任何指导原则?
实施例
public enum Pitch
{
Fastball,
Sinker,
Curveball
}
public class Pitch
{
}
答案 0 :(得分:6)
为枚举PitchType,PitchKind,PitchMagnitude,PitchQuality,PitchShape或其他最适合的名称命名。
另一个考虑因素是课程设计是否可以改进。您可以创建类层次结构,而不是在Pitch类中包含PitchType属性:
public abstract class Pitch {}
public class Fastball : Pitch {}
public class Sinker : Pitch {}
public class Curveball : Pitch {}
答案 1 :(得分:3)
使用命名空间以逻辑方式对它们进行分组。对于框架,类名是全名,可以是MusicPlayer.Notes.Pitch
而不是Pitch
。因此,不同名称空间中的类不会发生冲突。
答案 2 :(得分:3)
将enum嵌入课堂:
public class Pitch
{
public enum Kind {
Fastball,
Curveball,
Sinker
}
}
然后您可以通过课程访问它:
Pitch.Kind.Fastball
答案 3 :(得分:1)
当枚举没有嵌入类中时,请确保在标签前使用一些不同的名称,以防止名称冲突。您也可以按照joey的建议使用名称空间。
答案 4 :(得分:0)
public class Pitch
{
public enum Enum {
Fastball,
Curveball,
Sinker
}
}
Pitch.Enum.Fastball