【发布时间】:2014-09-26 03:37:58
【问题描述】:
我想通过为我的班级用户提供一个 BinaryWriter 来让他们的写作更舒适,在处理后,它会自动将其数据添加到某个内部队列中。
为此,我想编写一个 BinaryWriter 的子类并重写它的 Dispose 方法。但是,Dispose 不是虚拟的。连接到Dispose(bool) 就足够了吗?还是有更好的方法?
【问题讨论】:
标签: c# .net dispose overriding binarywriter
我想通过为我的班级用户提供一个 BinaryWriter 来让他们的写作更舒适,在处理后,它会自动将其数据添加到某个内部队列中。
为此,我想编写一个 BinaryWriter 的子类并重写它的 Dispose 方法。但是,Dispose 不是虚拟的。连接到Dispose(bool) 就足够了吗?还是有更好的方法?
【问题讨论】:
标签: c# .net dispose overriding binarywriter
BinaryWriter.Dispose() 只包含对
this.Dispose(true);
所以覆盖Dispose(bool) 将正常工作。
【讨论】:
Dispose() 只是 IDisposable.Dispose(bool) 的包装,这正是您想要覆盖的重载。请注意,Dispose() 对外部代码使用是公共的,Dispose(bool) 是受保护的虚拟。原因有点明显