using
(潜在的に) null オブジェクトでステートメントを使用しても安全ですか?
次の例を検討してください。
class Test {
IDisposable GetObject(string name) {
// returns null if not found
}
void DoSomething() {
using (IDisposable x = GetObject("invalid name")) {
if (x != null) {
// etc...
}
}
}
}
Dispose
オブジェクトが null でない場合にのみ が呼び出されることは保証されていますNullReferenceException
か?