Có an toàn khi sử dụng using
câu lệnh trên một đối tượng null (có khả năng) không?
Hãy xem xét ví dụ sau:
class Test {
IDisposable GetObject(string name) {
// returns null if not found
}
void DoSomething() {
using (IDisposable x = GetObject("invalid name")) {
if (x != null) {
// etc...
}
}
}
}
Có đảm bảo rằng nó Dispose
sẽ chỉ được gọi nếu đối tượng không phải là null và tôi sẽ không nhận được NullReferenceException
?