【发布时间】:2013-12-18 06:04:35
【问题描述】:
我有一个包含Dispose 方法的类。在这种方法中,我中止了一个线程。是否需要实现IDisposable接口?
【问题讨论】:
-
仅在您需要时...
-
(如果不想要一个 IDisposable 对象,请不要称它为 Dispose。这很令人困惑。由于 C# 是 nominally typed,如果您希望对象符合,则需要实现 IDisposable IDisposable;方法不提供对象类型。)
-
一般设计疑虑:您确定中止线程是正确的做法吗? (几乎总是,这不是正确的做法。)您可以使用协作线程关闭来代替吗?
-
正如@user2864740 提到的,如果您不打算实现 IDisposable,请避免将此名称用于该方法。要了解您应该遵循的最佳实践,请阅读《框架设计指南》一书,或学习分析工具,例如 Gendarme,mono-project.com/Gendarme.Rules.Design
标签: c#