Си диез / Говнокод #9350 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 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 ICELedyanoj, (Updated )

Комментарии (2) RSS

  • Начал читать код дальше.

    Получение списка значений 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;
    }
    Ответить
  • э:G$F)F Y.P(CE,A"K,O)X$QK?H K!D"R(Y,R?T:R,Q,V?E?E.L(H)W Z:Z$T$G?E:K?D S"C D?A:S:B)J)M(M!PG.V!Q"J$L"U.B,F(N)PE.M$B P.C(F)O.Q?C)X,Q.I.Y?T,T L,O(I"P:V)P$N"W$N"Q,W:R I.E D PW$D!F!Y S!A R"W(C!LO"DG.A$V(N Z?I$Z?B E?J.T"O.E"R$FN,U?H"W?C!R"I:D?U"Q"B,K"CR?EJ(P,W.Z.X,VP$C?L"D$M.E.D.N$C"U"W:U?H(NA,W(D$I E,A,Q)K$X$H(J:IUU,N.J:L,H H.F.O(I!S!U"S,O(M D:D KG.X!I!K:V!K)T!V,K"E HE,Y A)X)J)OU.K:A!Q!Q:X.R.H:ZP?I:N:AJ J.A,F F.Y?B,J,RI!L?E:Z"B.CC)H,J"U N J?M$Q?Z$U)C"CO!G H?S.G"R!C?M?S:Q$KO.M,YI,I$T$H!I TX$J$V?B"K$V?E!I?X!R!Q!Y(U)P.J:VRY.L.S$U,O.T.DJ)H"Z:KJ,R G?R$L)T$T!A?J(I(W$U)B D V.Y(MБTWGNMJTAJKCUXPXJOMBCJLKVCCPJWMGBLTVRDDAPFKHCUPTWQTIORLOIFLBWJGJPZQUVMWYBCLZSMJFCTEHGHGXMQVFEDOEOSZVAUFVBTKJJBQIWPGTMYQQFYIUEDWZOGDRXQUPUJBOJFQHDVVINOMWKOOVUJMBFSRUMTDVESONQDAKJGYLWEJRTPIBZQBFUMTRIVQVNQP
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8