Может кто-нибудь сказать, почему первое из следующих утверждений выдает ошибку компиляции, а второе - нет?
NewDatabase.AddInParameter(NewCommand, "@SomeString", DbType.String, SomeString ?? DBNull.Value); // <-- Throws compilation error!
NewDatabase.AddInParameter(NewCommand, "@SomeString", DbType.String, (object)(SomeString) ?? DBNull.Value); // <-- Compiles!
Я пробовал другие типы, допускающие обнуление, такие как byte?
, и получил тот же результат. Может кто-нибудь сказать мне, почему я должен сначала привести к объекту?