Có an toàn khi sử dụng câu lệnh using
trên đối tượng null (có khả năng) không?
Hãy xem xét ví dụ sau:Sử dụng câu lệnh với đối tượng rỗng
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 Dispose
sẽ được gọi là chỉ khi đối tượng không phải là null, và tôi sẽ không có được một NullReferenceException
?
Tôi khuyên bạn nên dùng thử ... Bạn có hầu hết mã bạn cần ở đó – cjk
Related http://stackoverflow.com/questions/2513035 –