- 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
public static T Parse<T>(string txt)
{
if (string.IsNullOrEmpty(txt))
return default(T);
txt = txt.Trim();
Type[] typeArray = new Type[] {
typeof(string),
typeof(T).MakeByRefType()};
MethodInfo mi = typeof(T).GetMethod("TryParse", typeArray);
T value = default(T);
if (mi != null)
{
object[] prms = new object[]{
txt,
value};
if ((bool)mi.Invoke(null, prms) && prms[1] != null)
value = (T)prms[1];
}
return value;
}
Не скажу что это такой уж говнокод, но что то говнистое в нем есть =)
guest 26.11.2009 20:00 # 0
Oleg_quadro 26.11.2009 20:23 # 0
Потом уж его постить и писать в описании.
sven47 27.11.2009 01:40 # 0
Реальный АСПшный проект который принял мой знакомый после прошлого прогера.
>Давайте сначала будем решать, что говнокодистого в коде.
думаю что нужно стараться избегать использования рефлексии если это возможно, автор же наоборот пихает ее куда только можно, взять даже тот же сингл тот в его авторстве (#2182).
guest 27.11.2009 10:15 # 0
guest 27.11.2009 15:54 # 0
guest 01.12.2009 16:21 # 0
P.S. Зачем писать самому, когда уже все написано до нас. :)