클래스의 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
{
}
지정하려면 :
Microsoft 지침에서 Pascal Case for Enumerations를 제안하고 단수 형식이이 경우에 더 설명 적이기 때문에 에서 card_suits
to CardSuit
로 이름 변경 이 제안되었습니다.
클래스 외부에서 열거 형을 정의해야합니다.
public enum card_suits
{
Clubs,
Hearts,
Spades,
Diamonds
}
public class Card
{
// ...
즉 , Pascal Casing이 제안되고 열거 형이 FlagsAttribute 로 표시되지 않아 단일에 여러 값이 적절 함을 제안하기 때문에 card_suits 대신 CardSuit 인 Enums 에 대한 표준 명명 지침 사용을 고려할 수도 있습니다. 변하기 쉬운.
클래스 경계 외부에서 열거 형을 선언하십시오. 이렇게 :
public enum card_suits
{
Clubs,
Hearts,
Spades,
Diamonds
}
public class Card
{
...
}
열거 형은 유형 이라는 것을 기억하십시오 . 다른 클래스에서 사용할 경우 enum을 자체 파일에 넣는 것도 고려할 수 있습니다. (당신은 카드 게임을 프로그래밍하고 있고 그 슈트는 잘 구성된 코드에서 여러 클래스에서 접근 할 수 있어야하는 카드의 매우 중요한 속성입니다.)
클래스 정의 외부에서 선언하십시오.
If your namespace's name is X, you will be able to access the enum's values by X.card_suit
If you have not defined a namespace for this enum, just call them by card_suit.Clubs etc.
I think this is what you want.
using card_suits = Card.card_suits;
참고URL : https://stackoverflow.com/questions/2540825/c-sharp-public-enums-in-classes
'IT Share you' 카테고리의 다른 글
"adb shell dumpsys alarm"출력을 읽는 방법 (0) | 2020.11.29 |
---|---|
컴파일 타임에 C ++ 클래스의 크기를 인쇄 할 수 있습니까? (0) | 2020.11.29 |
Bundler를 통한 mysql2 gem 설치 오류 (0) | 2020.11.29 |
data.frame의 행을 N 번 반복 (0) | 2020.11.29 |
Java에서 문자 리터럴 '\ n'과 '\ r'의 차이점은 무엇입니까? (0) | 2020.11.29 |