Использование оператора с нулевым объектом

Безопасно ли использовать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?

Ответы на вопрос(5)

Ваш ответ на вопрос