zoukankan      html  css  js  c++  java
  • using关键字

    using关键字可以支持IDisposable模式,可以在后面的圆括号中获得自由,这些自由作为局部变量,它们的作用范围限制在大括号限定的范围内。

    我们看一下例子

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 
     6 namespace DisposeAndUsing
     7 {
     8     class Program
     9     {
    10         public class A : IDisposable
    11         {
    12             private bool disposed = false;
    13             private void Dispose(bool disposing)
    14             {
    15                 if (!disposed)
    16                 {
    17                     if (disposing)
    18                     {
    19 
    20                     }
    21                     Console.WriteLine("Cleaning up object");
    22                     disposed = true;
    23                 }
    24             }
    25 
    26             public void Dispose()
    27             {
    28                 Dispose(true);
    29                 GC.SuppressFinalize(this);
    30             }
    31 
    32             public void DoSomething()
    33             {
    34                 Console.WriteLine("A.SoSomething()");
    35             }
    36 
    37             ~A()
    38             {
    39                 Console.WriteLine("Finalizing");
    40                 Dispose(false);
    41             }
    42         }
    43 
    44         static void Main(string[] args)
    45         {
    46             using (A a = new A())
    47             {
    48                 a.DoSomething();
    49             }
    50 
    51             using (A a = new A(), b = new A())
    52             {
    53                 a.DoSomething();
    54                 b.DoSomething();
    55             }
    56             Console.ReadLine();
    57         }
    58     }
    59 }

    using语句要求进程获得的所有资源能隐式的转换为IDisposable.这意味着它们必须实行IDisposable接口,否则会得到一个编译警告。

  • 相关阅读:
    分类汇总统计mysql数据库一个字段中不同的记录的总和
    golang 基础知识4
    golang 基础知识3
    golang 基础知识2
    golang 基础知识1
    mysql 锁
    node child_process
    go get下载被墙的包
    mac 修改root的密码
    ali
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/2809904.html
Copyright © 2011-2022 走看看