Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
switch (aDataType.FullName)
{
case "System.SByte":
case "System.Int16":
case "System.Int32":
case "System.Int64":
case "System.Single":
case "System.Double":
case "System.Decimal":
case "System.DateTime":
_IsNumeric = true;
break;
case "System.String":
_IsNumeric = false;
break;
default:
throw new ArgumentException("Not supported field data type: " +
aDataType.FullName, "aDataType");
}
Я бы сделал
static HashSet<Type> numericTypes = new HashSet<Type>(new Type[] { typeof(sbyte), typeof(short), typeof(int), typeof(long), typeof(float), typeof(double), typeof(decimal), typeof(DateTime) });
Код, конечно, идиотский.
А вообще, в C# иногда не хватает switch'а по типу. Было бы здорово, если бы в язык добавили паттерн-матчинг, как в F# и Nemerle.
static HashSet<Type> numericTypes = new HashSet<Type>(new Type[] { typeof(sbyte), typeof(short), typeof(int), typeof(long), typeof(float), typeof(double), typeof(decimal), typeof(DateTime) });
А вообще, в C# иногда не хватает switch'а по типу. Было бы здорово, если бы в язык добавили паттерн-матчинг, как в F# и Nemerle.