我在C#编码,我创建了一个我想在'using'块中使用的类。
这是否可行,如果可行,我应该如何处理以及我需要向班级添加什么?
答案 0 :(得分:4)
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()) {
}
}
答案 1 :(得分:0)
public class MyClass : IDisposable
{
public void Dispose()
{
}
}
这就是它的全部!在调用代码时,您可以执行以下操作:
using(var mc = new MyClass())
{
}