【发布时间】:2013-09-24 15:01:41
【问题描述】:
我有一个实现 IDisposable 的类,我想将一些方法设为静态。这样做会对内存管理或其他任何事情产生负面影响吗?
【问题讨论】:
标签: .net c#-4.0 memory-management static-methods idisposable
我有一个实现 IDisposable 的类,我想将一些方法设为静态。这样做会对内存管理或其他任何事情产生负面影响吗?
【问题讨论】:
标签: .net c#-4.0 memory-management static-methods idisposable
在那里调用静态方法应该没有任何风险。不过,我很好奇,为什么你会想要。 IDisposable 应该处理清理给定实例使用的本机资源。静态方法不适用于对象的任何特定实例(除非您将其作为参数传递)。似乎您调用的任何方法都作为实例方法而不是静态方法更好。
【讨论】:
不,因为类上的静态方法是not involved in memory management。正如静态所暗示的,该方法与类的任何给定实例无关,而是该方法与整个类相关。
【讨论】: