.NET 4.x Инициализация переменных - C#
Формулировка задачи:
Почему при вхождении в метод ссылочные поля не инициализируются дефолтными значениями?
SomeComOblect classVar;
public Method()
{
SomeComOblect usedVar = null;
SomeComOblect defVar = default(SomeComOblect );
SomeComOblect errorVar;
if (classVar.GetTitle() == "Some") {} //Нет еррорки на этапе комплиляции
if (usedVar.GetTitle() == "Some") {} //Нет еррорки на этапе комплиляции
if (defVar.GetTitle() == "Some") {} //Нет еррорки на этапе комплиляции
if (errorVar.GetTitle() == "Some") {} //Еррорка! Явный ссылочный же тип? Чего б в null не перевести???
}
Или типа на явном
null я могу методы вызывать, а блин на неявном - нет
Типа а вдруг null ссылка умеет что-то??? Решение задачи: «.NET 4.x Инициализация переменных»
textual
Листинг программы
//2 строчки кода в методе IMyInterface innerInterface = null; string test = innerInterface.GetTitle(); // компилится без ошибок =-O