+117
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
/// <summary>
/// Преобразование элемента перечисления в строку
/// </summary>
private String GetEnumElementString(Object e, Type t)
{
string result = string.Empty;
if (t == typeof(AccessMode))
{
if ((AccessMode)e == AccessMode.CacheOnly)
{
result = LocalStrings.AccessMode_CacheOnly_RU;
}
else if ((AccessMode)e == AccessMode.ServerOnly)
{
result = LocalStrings.AccessMode_ServerOnly_RU;
}
else if ((AccessMode)e == AccessMode.ServerAndCache)
{
result = LocalStrings.AccessMode_ServerAndCache_RU;
}
else
{
throw new Exception(string.Format("Отсутствует конвертация перечисления {0} к списку строк.", e));
}
}
else if (t == typeof(MapImageType))
{
if ((MapImageType)e == MapImageType.Map)
{
result = LocalStrings.MapImageType_Map_RU;
}
else if ((MapImageType)e == MapImageType.Satellite)
{
result = LocalStrings.MapImageType_Sattelite_RU;
}
else if ((MapImageType)e == MapImageType.Hybrid)
{
result = LocalStrings.MapImageType_Hybrid_RU;
}
else
{
throw new Exception(string.Format("Отсутствует конвертация перечисления {0} к списку строк.", e));
}
}
else
{
throw new Exception(string.Format("Отсутствует конвертация перечисления {0} к списку строк.", e));
}
return result;
}
Конвертация Enum в строку. Аффтар уникален, и это лишь одно из проявлений его уникальности.
Swith - для трусов, статические тулзы и Extension - для дураков. У нас для этого будут методы классов, между прочим класс, в который входит этот метод - UserControl.
Кстати, поля LocalStrings - не константы, а статика:
public static string AccessMode_CacheOnly_RU = "Только кэш"; ....
Запостил: ICELedyanoj,
08 Февраля 2012
ICELedyanoj 08.02.2012 09:58 # 0
Получение списка значений Enum для помещения в ComboBox:
private List<String> GetEnumStrings(Type e)
{
List<string> oResult = new List<string>();
if (e == typeof(AccessMode))
{
oResult.Add(LocalStrings.AccessMode_Cach eOnly_RU);
oResult.Add(LocalStrings.AccessMode_Serv erOnly_RU);
oResult.Add(LocalStrings.AccessMode_Serv erAndCache_RU);
}
else if (e == typeof(MapImageType))
{ .... }
else
{
throw new Exception(string.Format("Отсутствует конвертация перечисления {0} к списку строк.", e.ToString()));
}
return oResult;
}
guest8 09.04.2019 12:39 # −999