enum Service
{
CMD78_READ = 0x0E,
CMD78_WRITE = 0x10,
CMD7F_READ = 0x01,
CMD7F_WRITE = 0x02
}
CMD78_READ 이런거는 문자열 조합해서 입력 할건데
string Service_Enum = "CMD" + Command_Ox + "_" + Service;
List<string> List_Service = Enum.GetNames(typeof(Ethernet_.Service)).ToList();
int index = List_Service.IndexOf(Service_Enum);
이런식으로 CMD7F_READ에 대한 인덱스 번호를 땃는데
인덱스 번호로 0x01 데이터를 끌어올 방법을 못찾음.
있긴한거임?
걍 딕셔너리로 바꿀까
사실 바꿀 분량은 얼마 안돼서 이거 찾느니 소스를 바꾸고 마는게 이득인데
시간 꼬라박은게 너무 열받는다
(int) 이렇게 캐스팅
(byte)Enum.GetValues(typeof(Ethernet.Service)).GetValue(index); 데이터 받는건 이렇게 할려고 했는데 캐스팅 오류 남
int로 하면 14 데이터가 나옴 이게 뭐 어디서 나온놈인지 모르겠다
0x0E 가 14 지 아마 첫번째 게 나온 듯
근데 결국 하고 싶은 건 인덱스 필요 없이 (int)(Enum.GetName(typeof(Service), Service_Enum)) 하면 되는 거 아니냐
그러면 문자열로 나와
심지어 0x01도 아니고 CMD7F_WRITE 마지막 데이터 나오더라
아 그러네 Enum.Parse 하면 되네
(int)(Enum.Parse(typeof(Service), Service_Enum))