System.Net.HttpListener只显式实现IDisposable

时间:2011-06-06 12:45:02

标签: .net

为什么HttpListener显式实现IDisposable。这意味着你必须在调用dispose之前强制转换为IDisposable,并且在我看来,你必须调用dispose这一事实不太明显。

1 个答案:

答案 0 :(得分:4)

  1. 如果使用using块,则不需要显式强制转换。 (这是处理IDisposable个对象的首选惯用语。)

    using (HttpListener hl = /* ... */)
    {
        // ...
    }
    
  2. 它有一个Close方法,它几乎是Dispose的别名。 (不是我最喜欢的模式,但框架设计师似乎喜欢它!)

    HttpListener hl = /* ... */
    try
    {
        // ...
    }
    finally
    {
        hl.Close();
    }