Implements IDisposable : IDisposable « System « VB.Net by API

Home
VB.Net by API
1.Microsoft.VisualBasic
2.Microsoft.Win32
3.System
4.System.Collections
5.System.Collections.Generic
6.System.Collections.Specialized
7.System.ComponentModel
8.System.Configuration.ConfigurationSettings
9.System.Data
10.System.Data.Odbc
11.System.Data.OleDb
12.System.Data.OracleClient
13.System.Data.SqlClient
14.System.Diagnostics
15.System.Drawing
16.System.Drawing.Drawing2D
17.System.Drawing.Imaging
18.System.Drawing.Printing
19.System.Drawing.Text
20.System.Globalization
21.System.IO
22.System.IO.IsolatedStorage
23.System.IO.Ports
24.System.Media
25.System.Messaging
26.System.Net
27.System.Net.Sockets
28.System.Reflection
29.System.Runtime.InteropServices
30.System.Runtime.Remoting.Channels
31.System.Runtime.Serialization
32.System.Runtime.Serialization.Formatters.Binary
33.System.Runtime.Serialization.Formatters.Soap
34.System.Security.Cryptography
35.System.Security.Cryptography.X509Certificates
36.System.Security.Permissions
37.System.Security.Principal
38.System.ServiceProcess
39.System.Text
40.System.Text.RegularExpressions
41.System.Threading
42.System.Web
43.System.Web.Mail
44.System.Windows.Forms
45.System.Xml
46.System.Xml.Schema
47.System.Xml.Serialization
48.System.Xml.Xsl
VB.Net
VB.Net Tutorial
VB.Net by API » System » IDisposable 
Implements IDisposable
  

Imports System
Imports System.Drawing
Imports System.Data
Imports System.IO
Imports System.Collections
Imports System.Windows.Forms
Imports System.Drawing.Printing

Public Class MainClass
    Shared Sub Main()
        Dim file As New MyFile("c:\FinalizeDemo.txt")
        file.AddText("Hello, world!")

        ' now, clear the reference to the object...
        file.Dispose()
        file = Nothing

        ' wait for the user to press return...
        Console.WriteLine("Press Return to collect the garbage...")
        ' force a collect...
        GC.Collect()

        ' wait for the user to quit...
        Console.WriteLine("Press Return to quit...")

    End Sub
End Class



Public Class MyFile
    Implements IDisposable
    Private stream As FileStream
    Private isDisposed As Boolean


    Public Sub New(ByVal filename As String)
        stream = New FileStream("test.txt", FileMode.OpenOrCreate)
        Console.WriteLine("Object " & GetHashCode() " created.")
        Console.WriteLine("Using file: " & filename)

    End Sub

    Public Sub AddText(ByVal buf As String)
        If isDisposed = True Then
            Throw New ObjectDisposedException("I've been disposed!")
        End If

        Dim writer As New StreamWriter(stream)
        writer.WriteLine(Date.Now)
        writer.WriteLine(buf)
        writer.Close()
    End Sub


    Public Sub Dispose() Implements System.IDisposable.Dispose
        If isDisposed = True Then Return
        
        stream.Close()
        stream = Nothing

        isDisposed = True

        GC.SuppressFinalize(Me)

        Console.WriteLine("Object " & GetHashCode() " disposed.")
    End Sub

    Protected Overrides Sub Finalize()
        Dispose()
        Console.WriteLine("Object " & GetHashCode() " finalized.")
    End Sub
End Class

   
    
  
Related examples in the same category
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.