我刚刚发现,最佳实践指示任何类型的实现iDisposable的位置,都应将其包装在using语句中,以确保即使在发生异常的情况下也可以正确处理该对象。
我的问题是,如何才能轻松分辨哪些对象实现了iDisposable?还是应该将我不确定的所有内容包装在using语句中,然后在编译时依靠编译器告诉我?
谢谢。
最佳答案
你可以 ...
寻找Dispose
成员的存在
查看您的类型的定义(F12)
按照您的建议进行操作,包装一个using,然后查看编译器的内容
尽管最好的方法是了解IDisposable的用途,但是很快您将了解执行该接口并应该实现该接口的类型。即外部资源,非托管类型包装器(例如GDI图形对象),有限的资源(数据库连接)
关于c# - C#使用语句和iDisposable,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6096074/