c# - 我应该将 Dispose 逻辑分离到一个部分类文件中吗?

标签 c# refactoring idisposable partial-classes

在重构一些 C# 类时,我遇到了实现 IDisposable 的类。

想都没想,我就为每个实现了IDisposable接口(interface)的类创建了部分类文件。

例如)对于 Stamper.cs -> Stamper.cs + Stamper.Dispose.cs 其中 Stamper.cs 包含用于标记的实际逻辑 和包含处置逻辑的 Stamper.Dispose.cs

// Stamper.cs
public partial class Stamper
{
// actual logic
}

// Stamper.Dispose.cs
public partial class Stamper: IDisposable
{
// Implement IDisposable
}

当我查看代码时,Stamper.cs 现在看起来更加清晰易读(现在大约有 52 行而不是 100 行,其中大约 50 行只是清理处理代码)

我这样做是不是太过分了?

*编辑:感谢大家的意见 - 我决定将两个文件合二为一。 我遇到的问题是我实际上忘记在更新实际逻辑后更新 IDisposable 实现。

此外,在源代码中的方法之间导航也没有太大问题。 在我的具体情况下,第一个原因似乎足以坚持使用一个文件解决方案。

最佳答案

是的,太远了。只是在代码周围粘贴一个#Region 并将其折叠以致于看不到它有什么问题?

关于c# - 我应该将 Dispose 逻辑分离到一个部分类文件中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/534072/

相关文章:

c# - 如何确保我们只有一个实例,并且以正确的方式处理它

c# - 在 ASP.NET 中实现文件下载时如何处理我的文件流?

c# - 如何在网络浏览器中获取滚动条的当前垂直位置?

c# - 为什么即使只有一种可能的返回类型,方法调用表达式的类型也是动态的?

c# - 使用 TryParse 设置对象属性值

javascript - 我如何重构我的方法?

排序 GridView 时 C# 无限循环

c# - 在运行时生成可执行文件

java - 重构严格的代码以消除检查instanceOf的if-else语句

c# - Dispose(bool) 中的 disposed 标志到底是什么意思?