728x90
반응형
인덱스대로 하지 않아도 되는데, 궂이 이렇게 Enum을 선언했을 때 해당 값을 Combobox에서 가져오는 방법을 제시해본다.
private enum DB_USER_ROLE
{
UNKNOWN = 0,
WORKER = 2,
INFRA_ADMIN = 8,
SUPER_ADMIN = 9,
}
// 콤보박스에는 이런식으로 넣을 수 있다. String만 들어가기에 뭔가 변환함수를 만들어야 한다.
CboUserRole.Items.AddRange(Enum.GetNames(typeof(DB_USER_ROLE)));
상수는 위와 같다.
private DB_USER_ROLE GetUserRole()
{
Dictionary<DB_USER_ROLE, string> dicUserRole = new Dictionary<DB_USER_ROLE, string>();
string[] lstUserRole = Enum.GetNames(typeof(DB_USER_ROLE));
var lstValue = Enum.GetValues(typeof(DB_USER_ROLE));
for (int i = 0; i < lstUserRole.Length; i++)
{
dicUserRole.Add((DB_USER_ROLE)lstValue.GetValue(i), lstUserRole[i]);
}
foreach (KeyValuePair<DB_USER_ROLE, string> kvp in dicUserRole)
{
if (kvp.Value == CboUserRole.Text)
{
return kvp.Key;
}
}
return DB_USER_ROLE.UNKNOWN;
}
위 함수는 특정 Enum에 대해서만 처리되도록 되어 있지만, T객체를 이용해서 범용적으로도 사용할 수 있을 것 같다.
그런데 이게 더 좋아서 다시 이걸로 바꿨다. 만들어놓고 또 만들었네.. T_T
반응형
'개발 > C#' 카테고리의 다른 글
이벤트 로그 작성하는 방법 (0) | 2024.04.25 |
---|---|
.net6에서 process.start 할 때 오류가 나는 경우 (0) | 2024.02.27 |
C#과 Node.js(TS)에서 각각 Sha256 Hash 같은 값 나오게 하기 (0) | 2024.02.15 |
Datatable을 Listview에 바인딩해서 사용하기 (0) | 2024.02.13 |
Listbox에서 아이템을 위/아래로 이동하는 함수 (0) | 2024.02.06 |