Về cơ bản tôi có một vài chức năng mà trông như thế này:Sử dụng câu lệnh trong mọi chức năng -> chuyển đổi sang trường lớp bằng cách dọn dẹp thích hợp?
class MyClass
{
void foo()
{
using (SomeHelper helper = CreateHelper())
{
// Do some stuff with the helper
}
}
void bar()
{
using (SomeHelper helper = CreateHelper())
{
// Do some stuff with the helper
}
}
}
Theo giả thiết tôi có thể sử dụng tài nguyên cùng thay vì một khác nhau [ví dụ] trong mỗi chức năng là nó thực hành ok liên quan đến dọn dẹp và như vậy để làm điều này?:
class MyClass
{
SomeHelper helper = CreateHelper();
// ...foo and bar that now just use the class helper....
~MyClass()
{
helper.Dispose();
}
}
Thay vì sử dụng finalizer bạn có thể thay vào đó (nếu có thể) thực hiện 'IDisposable' trong 'MyClass' và khi Vứt bỏ cuộc gọi' helper.Dispose' –