Примечание: Этот вопрос задавался до введения оператора .?
в C # 6 / Visual Studio 2015 .
Мы все были там, у нас есть какое-то глубокое свойство, например cake.frosting.berries.loader, которое нам нужно проверить, имеет ли оно значение null, поэтому нет никаких исключений. Это можно сделать с помощью короткого замыкания, если оператор
if (cake != null && cake.frosting != null && cake.frosting.berries != null) ...
Это не совсем элегантно, и, возможно, должен быть более простой способ проверить всю цепочку и посмотреть, сталкивается ли она с нулевой переменной / свойством.
Возможно ли использовать какой-либо метод расширения или это будет языковая функция, или это просто плохая идея?