Advertisement

C#对象释放

阅读量:

对象销毁

  • 对象销毁的标准语法
  • Close和Stop
  • 何时销毁对象
  • 销毁对象时清除字段

对象销毁的标准语法

该框架在对象销毁逻辑上遵循一系列规定,并非仅限于.NET Framework或C#语言;这些规定的主要目标是制定一套易于使用的协议规范。具体来说,请参阅以下详细说明:

一旦销毁后不再能恢复。已无法重新启用的对象若被操作(如访问其属性或执行其方法),将抛出ObjectDisposedException异常。
反复调用同一个对象的Disposal方法将会导致错误。
如果一个可被销毁的对象x包含了、嵌套使用或者处理另一个可被销毁的对象y,则x在其Disposable方法中会自动触发y的Disposable动作;除非另有说明(不进行此操作)。

Close和Stop

某些类型除了disposing之外还包含了close的方法。
框架对于close方法并未做到始终如一,
在绝大多数情况下它都可以实现这一功能。

  • 要么在功能上与Dispose一致
  • 或只是Dispose的一部分功能

对于后者而言(例如),一个典型的例子是IDbConnection类型;其中一种是已关闭的连接(即允许重新打开),另一种是已销毁的对象(即无法重新打开)。
另一个例子在于Windows程序通过ShowDialog方法来激活

全部评论 (0)

还没有任何评论哟~