gpt4 book ai didi

c# - 我将如何为我的类实现 IDisposable 以便它可以在 'using' block 中使用?

转载 作者:行者123 更新时间:2023-11-30 15:36:37 25 4
gpt4 key购买 nike

我正在用 C# 编写代码,我创建了一个我想在“using” block 中使用的类。

这可能吗?如果可以,我应该如何进行以及我需要在我的类(class)中添加什么?

最佳答案

using 关键字可以用在任何实现了 IDisposable 的对象上。要实现 IDisposable,请在您的类中包含一个 Dispose 方法。

在您的类的终结器中也包含 Dispose 功能通常很重要,以防您的库的用户不(或忘记)调用 Dispose

例如:

class Email : IDisposable {

// The only method defined for the 'IDisposable' contract is 'Dispose'.
public void Dispose() {
// The 'Dispose' method should clean up any unmanaged resources
// that your class uses.
}

~Email() {
// You should also clean up unmanaged resources here, in the finalizer,
// in case users of your library don't call 'Dispose'.
}
}

void Main() {

// The 'using' block can be used with instances of any class that implements
// 'IDisposable'.
using (var email = new Email()) {

}
}

关于c# - 我将如何为我的类实现 IDisposable 以便它可以在 'using' block 中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13570486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com