nativeresourceholder.vb

来自「Microsoft Mobile Development Handbook的代码」· VB 代码 · 共 38 行

VB
38
字号
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports System.Text

Namespace CodeForChapter5cs
Friend Class NativeResourceHolder
	Implements IDisposable
  Private alreadyDisposed As Boolean = False

  ' This method  does the cleanup
  ' gets called only from finalizer(true) OR from Dispose(false)
  ' protected virtual so subclasses can override it
  Protected Overridable Sub Dispose(ByVal calledFromFinalizer As Boolean)
	If alreadyDisposed Then
	  Return
	End If
	alreadyDisposed = True

	If (Not calledFromFinalizer) Then
	  ' if we hold other IDisposablereferences, call their Dispose method
	  ' cannot do this from finalizer; they may have already been disposed
	End If

	' always free native resources, e.g. handles
  End Sub

  Public Sub Dispose() Implements IDisposable.Dispose
	Me.Dispose(False)
	GC.SuppressFinalize(Me) ' get rid of finalizer!
  End Sub

  Protected Overrides Sub Finalize()
	Me.Dispose(True)
  End Sub
End Class
End Namespace

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?