Я ищу «безопасную» точечную нотацию в VB.net. Существует ли такая вещь - на VB.NET или на любом другом языке? Я хочу иметь возможность при использовании устаревших объектов, не допускающих значения NULL, решать такую проблему, как:
если есть план, если есть случай, если в нем есть человек, его супруга, иначе ничего (VBSpeak for Null).
и избегайте этого:
Dim Spouse as Person = Nothing
if Case.Plan isnot nothing then
if Case.Plan.Person isnot Nothing
Spouse = Case.Plan.Person.Spouse
end if
end if
и сделайте так:
Dim Spouse as Person = Case~Plan~Person~Spouse
Где '~'
- это моя искомая «безопасная» точечная нотация, которая немедленно возвращает ноль при обнаружении первого нулевого объекта вместо того, чтобы генерировать исключение?
Конечно, более распространенные для этой проблемы:
dim MyVar as string = XMLDoc.DocumentElement.SelectSingleNode("Name").InnerText
и не желая ничего вместо исключения, когда Name не существует.
Редактировать:
Есть ли способ решить эту проблему с помощью LINQ для объектов или LINQ для XML?