Здравствуйте, Аноним, Вы писали:
А> При написании кода, я постоянно проверяю, не возвращает ли obj.GetType() нулевое значение. И это немного напрягает, так как код разрастается быстро. Эта проверка имеет смысл? Может ли этот метод когда-нибудь вернуть null.
Думаю проверки не требуются
Разве могут быть в типобезопасной среде (до MSIL) объекты совсем без типа?
Старайтесь отказываться от GetType() в пользу typeof() где это возможно...
А> Есть ли способо указать, что возвращаемый ссылочный тип не можт быть нулем. Есть же для значимых типом Nullable. А есть ли какой-нибудь NotNullable для ссылочных типов. Хочется чтобы была проверка еще на уровне компиляции, что если возвращаемый тип помечен как NotNullable, то метод не при каких обстоятельствах не должен возвращать null и соответственно комплиятор должен ругаться, если в каких-то случаях возможно возвращение null.
Может со введением в обиход контрактов .NET 4.0 такое будет возможно со статическими проверками...
Nullable<> введён не для этих целей, только чтобы наделить value-type ещё одним состоянием — null, которое они обычно принимать не могут.