我应该将Dispose逻辑分离为部分类文件吗?

dan*_*die 2 c# refactoring idisposable partial-classes

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

我不假思索地为每个实现IDisposable接口的类创建了部分类文件.

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

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

// Stamper.Dispose.cs
public partial class Stamper: IDisposable
{
// Implement IDisposable
}
Run Code Online (Sandbox Code Playgroud)

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

我对此走得太远了吗?

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

此外,在源代码中的方法之间导航没有太多问题.第一个原因似乎不仅仅是在我的具体案例中坚持使用一个文件解决方案的理由.

Sti*_*ack 8

是的,太远了.只是在代码周围粘贴一个#Region并将其折叠以便您无法看到它有什么问题?


Mau*_*gan 7

它看起来像为构造函数逻辑创建一个部分类一样随意.现在我必须看两个文件来讨论这个类.部分类只对设计师的东西非常值得...


Row*_*haw 6

我更愿意在与保证实现IDisposable的资源相同的文件中看到dispose逻辑.虽然有一种主观性因素,但我认为它太过分了