Скажите, что у меня есть следующий словарь:
public static Dictionary<Type, string> nullableTypeToStringMap = new Dictionary<Type, string>()
{
{typeof(bool?) , "bool?"},
{typeof(byte?) , "byte?"},
{typeof(sbyte?) , "sbyte?"},
{typeof(char?) , "char?"},
{typeof(decimal?) , "decimal?"},
{typeof(double?) , "double?"},
{typeof(float?) , "float?"},
{typeof(int?) , "int?"},
{typeof(uint?) , "uint?"},
{typeof(long?) , "long?"},
{typeof(ulong?) , "ulong?"},
{typeof(short?) , "short?"},
{typeof(ushort?) , "ushort?"}
};
и скажите, что я выполнил эту строку:
nullableTypeToStringMap [typeof(int?)];
Я получаю следующее исключение: The type initializer for 'DatabaseUtils.Utils.TypeMap' threw an exception.
Однако, если я выполню эту строку:
nullableTypeToStringMap [typeof(int)];
Работает нормально. Есть идеи, почему обнуляемый тип вызывает у меня проблемы?