나는 종종 자신의 상태 속성을 열거 형으로 유지하는 클래스를 구현하는 것을 발견합니다. 상태 열거 형과 상태 유형의 ONE 상태 속성이 있습니다. 이 이름 충돌을 어떻게 해결해야합니까?
public class Car
{
public enum Status
{
Off,
Starting,
Moving
};
Status status = Status.Off;
public Status Status // <===== Won't compile =====
{
get { return status; }
set { status = value; DoSomething(); }
}
}
Status 열거 형이 다른 유형에 공통적이라면 클래스 외부에두면 문제가 해결 될 것입니다. 그러나 Status는 Car에만 적용되므로 클래스 외부에서 열거 형을 선언하는 것은 의미가 없습니다.
이 경우 어떤 명명 규칙을 사용합니까?
주의 :이 질문은 일부의 답변의 의견에 논란이 된 이 질문 . 주요 질문 이 아니기 때문에 가시성이별로 없었습니다.
편집 : Filip Ekberg는 '상태'의 특정 경우에 대한 IMO 훌륭한 해결 방법을 제안합니다. 그러나 Michael Prewecki의 답변 에서와 같이 열거 형 / 속성의 이름이 다른 솔루션에 대해 읽으면 흥미로울 것 입니다.
EDIT2 (2010 년 5 월) : 내가 가장 좋아하는 솔루션은 Chris S가 제안한대로 열거 형 유형 이름을 복수화하는 것입니다. MS 지침에 따르면 플래그 열거 형에만 사용해야합니다. 하지만 점점 더 좋아하게되었습니다. 이제 일반 열거 형에도 사용합니다.