의 내가이 열거 있다고 가정 해 봅시다 : 나는 간단하게 할 수있는 최초의 열거의 값을 통해어떻게 복잡한 열거 값의 캐릭터 라인 표현을 얻을 수
SomeType easyType = SomeType.Val1 | SomeType.Val2;
SomeType complexType = SomeType.All;
내가 루프를 원하는 경우
[Flags]
public enum SomeType
{
Val1 = 0,
Val2 = 1,
Val3 = 2,
Val4 = 4,
Val5 = 8,
Val6 = 16,
All = Val1 | Val2 | Val3 | Val4 | Val5 | Val6
}
일부 변수를 수행
foreach(string s in easyType.ToString().Split(','))
{ ... }
을 그러나, 나는 물론이다 '복합 타입'나는 가치를 '전체'에 동일한 방법을 적용하려고하면 그것은 열거 형의 가능한 값 중 하나이기 때문에 유효합니다. 그러나 실제로 어떤 값이 SomeType인지 알 수있는 깔끔한 방법이 있습니까? 모두 생성 했습니까? 나는 그런 모든 값을 수동 루프를 만들 수 알고
if(complexType.HasFlag(ManualType.Val1) && ...
내가 문제가이 열거 안에'All'을 넣지해야한다는 것입니다 생각하는 이유, 예를 들면, 그건. 당신이 그것을'[Flags]'라고 표시했기 때문에 어떤 조합이라도 넣는 것은 나쁜 생각입니다. –
그런 다음 SomeType을 사용할 때 열거 형의 적절한 조합을 사용하는 것을 항상 기억해야합니다. – IamDeveloper
무의미한'SomeType' 대신 원래 enum을 게시 할 수 있습니까? –