返回首页


继我的第一篇,今天我看到的东西在C#中使用块凉爽。我们都知道,在使用块,通常我们创建了一个类型实现IDisposable如下所示:

public class MyClass : IDisposable

   {

       public void Dispose()

       {

           Console.WriteLine("Disposed");

       }

   }

使用代码看起来像:{C}
事实上,这些天,我一直做着同样的WRT (在我所有的代码)块。但今天我才知道(是的,一个真正的耻辱),你并不总是需要创建一个类型,而实际上调用它的方法。让我告诉你一个相同的代码:
public class MyClass : IDisposable

   {

       public void Dispose()

       {

           Console.WriteLine("Disposed");

       }

   }



   public class UsingClass

   {

       public static MyClass SomeMethod()

       {

           return new MyClass();

       }

   }



    public partial class Program

    {        

        public static void Main()

        {

            using (UsingClass.SomeMethod()){ }



            Console.ReadLine();

        }    

    }

在这里,编译器已经有点聪明,因为它有效地看到SomeMethod的()方法的返回类型,返回一个类型实现IDisposable接口,因此它并没有发出任何错误。只是删除实现IDisposable的类型,那么你会得到错误。
欢迎您的意见。 {S0的}
快乐编码。
:{A} {S8的}

回答

评论会员: 时间:2