Если целевой объект является нулевым в условном доступе к члену / операторе распространения нулевого значения, а член является методом, оцениваются ли аргументы метода?
То есть, в следующем коде g()
называется?
SomeClass x = null;
x?.Foo(g());
Как насчет h()
в:
SomeClass x = null;
x?.Bar($"h = {h()}");
SharpLab помещает оценку аргумента в блок if
, поэтому он будет пропущен. Но гарантируется ли это спецификацией или подробностями реализации?