【问题标题】:Should I implement IDisposable for a User Control?我应该为用户控件实现 IDisposable 吗?
【发布时间】:2010-02-22 16:07:41
【问题描述】:

我正在创建一个 .NET 用户控件。我需要为我的用户控件实现IDisposable 接口吗?

【问题讨论】:

    标签: c# .net


    【解决方案1】:

    Control 已经实现了IDisposable

    如果你需要释放一些非托管资源,你只需要覆盖实现。

    所以简单的答案是:不,可能不是

    【讨论】:

      【解决方案2】:

      实际上,Control 已经实现了 IDisposable。如果您使用 Visual Studio 对控件进行了任何类型的自动生成,通常会在 .Designer.cs 文件中生成基本实现。如果需要,您只需添加到基本实现即可。

      它有一个virtual Dispose method,它带有一个布尔标志。如果为 True,则通过接口调用 Dispose。如果为 False,则通过终结器调用 Dispose。

      【讨论】:

        【解决方案3】:

        仅当您有需要快速释放的外部资源时。否则,只要对象仍未被收集,这些资源就会被保留,并且可能更长。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-09
          • 1970-01-01
          • 2011-06-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多