Ну, вы могли бы преобразовать это в дерево выражений, а не в делегат, и тщательно перемещаться по нему. Но нет, в C # нет ничего похожего на «нулевой безопасный оператор разыменования». Я полагаю, что команда C # изучила это и обнаружила, что трудно придумать что-то, что на самом деле работает так, как вы, естественно, хотите. Это не значит, что у них не будет другого взгляда на более позднюю дату, конечно:)
(Это, безусловно, звучит как относительно простая языковая функция для реализации ... но я доверяю команде, когда они говорят, что есть скрытые сложности!)
Я бы не хотел поймать NullReferenceException
как способ обойти это, хотя ... Я бы предпочел написать метод, который явно проверял бы нулевые ссылки для конкретного случая. Хотя это зависит от вашей ситуации.