Использование оператора с нулевым объектом
Безопасно ли использоватьusing
заявление о (потенциально) нулевом объекте?
Рассмотрим следующий пример:
class Test {
IDisposable GetObject(string name) {
// returns null if not found
}
void DoSomething() {
using (IDisposable x = GetObject("invalid name")) {
if (x != null) {
// etc...
}
}
}
}
Гарантируется ли это, чтоDispose
будет вызываться, только если объект не нулевой, и я не получуNullReferenceException
?