C#中using关键字的使用

关键字

C#中可使用using关键字自动清除对象资源。

# MyObject.cs

using System;

namespace MyProjects

{

public class MyObject : IDisposable

{

public MyObject()

{

}

public void Dispose ( )

{

// Dispose

Console.WriteLine ( "Disposed" ) ;

// ...

}

}

}

# Class1.cs

using System;

namespace MyProjects

{

public class Class1

{

public Class1()

{

}

public static void Main ( string[] args )

{

using ( MyObject myObject = new MyObject ( ) )

{

Console.WriteLine ( "quit" ) ;

}

}

}

}

使用using会自动调用MyObject的Dispose方法.

如果MyObject未实现IDispose接口,则编译时会出错:无法将类型“MyProjects. MyObject”隐式转换为“System.IDisposable”

这种写法可替代

try

{ //... }

catch

{ }

finnaly

{ MyObject.Dispose ( ) ; }

时间: 2024-12-28 15:07:00

C#中using关键字的使用的相关文章

JavaScript中this关键字使用方法详解

javascript|关键字|详解 在面向对象编程语言中,对于this关键字我们是非常熟悉的.比如C++.C#和Java等都提供了这个关键字,虽然在开始学习的时候觉得比较难,但只要理解了,用起来是非常方便和意义确定的.JavaScript也提供了这个this关键字,不过用起来就比经典OO语言中要"混乱"的多了.     下面就来看看,在JavaScript中各种this的使用方法有什么混乱之处?     1.在HTML元素事件属性中inline方式使用this关键字:  <div

Java 中的关键字 final

final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义,它可以修 饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. final类不 能被继承,没有子类,final类中的方法默认是final的. final方法不能被子类的方法覆盖,但可以被继 承. final成员变量表示常量,只能被赋值一次,赋值后值不再改变. final不能用于修饰构造方法. 注意:父类的private成员方法是不能被子类方法

PHP函数实现从一个文本字符串中提取关键字的方法

  本文实例讲述了PHP函数实现从一个文本字符串中提取关键字的方法.分享给大家供大家参考.具体分析如下: 这是一个函数定位接收一个字符串作为参数(连同其他配置可选参数),并且定位该字符串中的所有关键字(出现最多的词),返回一个数组或一个字符串由逗号分隔的关键字.功能正常工作,但我正在改进,因此,感兴趣的朋友可以提出改进意见. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

PHP中static关键字以及与self关键字的区别

  这篇文章主要介绍了PHP中static关键字以及与self关键字的区别,本文讲解了static关键字的定义.迟绑定(Late Static Bindings).以及与self关键字的区别等内容,需要的朋友可以参考下 概述 正在学习设计模式,之前有一篇文章关于单例模式的文章,重新读了这篇文章,发现对static关键字掌握不是很牢靠,重新温习一下. static关键字 PHP手册里对static关键字的介绍如下: 代码如下: Declaring class properties or metho

Python中super关键字用法实例分析

  本文实例讲述了Python中super关键字用法.分享给大家供大家参考.具体分析如下: 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 class A: def __init__(self): print "enter A" print "leave A" class B(A): def __init__(s

JS中prototype关键字的功能介绍及使用示例

prototype 关键字可以为 JS原有对象 或者 自己创建的类 中添加方法或者属性. 也可以实现继承. 例子: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org

JavaScript中var关键字的使用详解_基础知识

作用声明作用:如声明个变量.语法 var c = 1; 省略var在javascript中,若省略var关键字而直接赋值,那么这个变量为全局变量,哪怕是在function里定义的. <script type="text/javascript"> function Define() { a = 2; } function Hello() { alert(a); } </script> 如代码所示,运行函数Define()后,变量a声明为全局变量.在Hello()函

PHP函数实现从一个文本字符串中提取关键字的方法_php技巧

本文实例讲述了PHP函数实现从一个文本字符串中提取关键字的方法.分享给大家供大家参考.具体分析如下: 这是一个函数定位接收一个字符串作为参数(连同其他配置可选参数),并且定位该字符串中的所有关键字(出现最多的词),返回一个数组或一个字符串由逗号分隔的关键字.功能正常工作,但我正在改进,因此,感兴趣的朋友可以提出改进意见. /** * Finds all of the keywords (words that appear most) on param $str * and return them

java super-java中super关键字的疑问

问题描述 java中super关键字的疑问 其实我想问的是为什么在静态方法中不能用super? 既然编译器规定我们不能在静态方法中使用super只能在实例方法中使用.而子类中的实例方法要调用只有等到对象产生后.但是我们都知道抽象类是不能被实例化的但是却能在其子类中调用其方法. 如果说super是指向父类的引用这个引用在虚拟机中是怎样形成的又是何时形成的? 解决方案 java中super关键字的使用JAVA中super关键字的用法Java中super关键字的三种用法 解决方案二: 静态字段.成员不

SQL server中多种关键字查询数据

问题描述 SQL server中多种关键字查询数据 比如学生有姓名,学号,班级等列,我可以通过学号查询,也可以通过姓名查询 解决方案 两个办法,一个是首先在代码中判断输入的是全数字还是中文,分别执行不同的查询.或者写在一起:select * from table where 姓名=输入 or 学号=输入 解决方案二: select * from 学生表 where name = '姓名' or No='学号' 解决方案三: 可以使用动态sql拼接比如定义一个@sqltext 根据不同的情况拼接s