C# 6 Нулевое распространение, какое значение устанавливается, когда объект нулевой
var result = myObject?.GetType();
В этом сценарии, что будет значением Result, если myObject
нулевой?
2 ответа
Решение
Предполагая, что ваш объект не скрывает по умолчанию object.GetType
определение: GetType
возвращается Type
, который является ссылочным типом, так null
будет возвращен, и result
будет выведено, чтобы быть типа Type
,
Если у вашего объекта есть метод, который скрывает object.GetType
, он также вернется null
, но тип выведен для result
может измениться: это будет либо TResult
если этот метод возвращает ссылочный тип TResult
, или же Nullable<TResult>
если он возвращает тип значения типа TResult
,
Результат должен быть null
поскольку ?
оператор замыкает операцию.