File tree Expand file tree Collapse file tree 9 files changed +41
-33
lines changed
csharp/System/IDisposable/Overview
fsharp/System/IDisposable/Overview
visualbasic/VS_Snippets_CLR_System/system.idisposable/vb Expand file tree Collapse file tree 9 files changed +41
-33
lines changed Original file line number Diff line number Diff line change 1
1
// <Snippet3>
2
- using Microsoft . Win32 . SafeHandles ;
3
2
using System ;
3
+ using System . IO ;
4
4
using System . Runtime . InteropServices ;
5
5
6
6
class BaseClass1 : IDisposable
7
7
{
8
8
// Flag: Has Dispose already been called?
9
9
bool disposed = false ;
10
- // Instantiate a SafeHandle instance.
11
- SafeHandle handle = new SafeFileHandle ( IntPtr . Zero , true ) ;
10
+ // Instantiate a FileStream instance.
11
+ FileStream fs = new FileStream ( "test.txt" , FileMode . OpenOrCreate ) ;
12
12
13
13
// Public implementation of Dispose pattern callable by consumers.
14
14
public void Dispose ( )
@@ -25,7 +25,7 @@ protected virtual void Dispose(bool disposing)
25
25
26
26
if ( disposing )
27
27
{
28
- handle . Dispose ( ) ;
28
+ fs . Dispose ( ) ;
29
29
// Free any other managed objects here.
30
30
//
31
31
}
Original file line number Diff line number Diff line change 1
1
// <Snippet4>
2
- using Microsoft . Win32 . SafeHandles ;
3
2
using System ;
3
+ using System . IO ;
4
4
using System . Runtime . InteropServices ;
5
5
6
6
class MyDerivedClass : MyBaseClass
7
7
{
8
8
// Flag: Has Dispose already been called?
9
9
bool disposed = false ;
10
- // Instantiate a SafeHandle instance.
11
- SafeHandle handle = new SafeFileHandle ( IntPtr . Zero , true ) ;
10
+ // Instantiate a FileStream instance.
11
+ FileStream fs = new FileStream ( "test.txt" , FileMode . OpenOrCreate ) ;
12
12
13
13
// Protected implementation of Dispose pattern.
14
14
protected override void Dispose ( bool disposing )
@@ -18,7 +18,7 @@ protected override void Dispose(bool disposing)
18
18
19
19
if ( disposing )
20
20
{
21
- handle . Dispose ( ) ;
21
+ fs . Dispose ( ) ;
22
22
// Free any other managed objects here.
23
23
//
24
24
}
Original file line number Diff line number Diff line change 1
1
module base1
2
2
3
3
// <Snippet3>
4
- open Microsoft.Win32 .SafeHandles
5
4
open System
5
+ open System.IO
6
6
7
7
type BaseClass1 () =
8
8
// Flag: Has Dispose already been called?
9
9
let mutable disposed = false
10
10
11
- // Instantiate a SafeHandle instance.
12
- let handle = new SafeFileHandle ( IntPtr.Zero , true )
11
+ // Instantiate a FileStream instance.
12
+ let fs = new FileStream ( " test.txt " , FileMode.OpenOrCreate )
13
13
14
14
interface IDisposable with
15
15
// Public implementation of Dispose pattern callable by consumers.
@@ -22,8 +22,8 @@ type BaseClass1() =
22
22
override _.Dispose ( disposing ) =
23
23
if not disposed then
24
24
if disposing then
25
- handle .Dispose()
25
+ fs .Dispose()
26
26
// Free any other managed objects here.
27
27
disposed <- true
28
28
29
- // </Snippet3>
29
+ // </Snippet3>
Original file line number Diff line number Diff line change 1
1
module derived1
2
2
open System
3
+ open System.IO
3
4
4
5
type MyBaseClass () =
5
6
// Flag: Has Dispose already been called?
@@ -30,18 +31,18 @@ type MyDerivedClass() =
30
31
31
32
// Flag: Has Dispose already been called?
32
33
let mutable disposed = false
33
- // Instantiate a SafeHandle instance.
34
- let handle = new SafeFileHandle ( IntPtr.Zero , true )
34
+ // Instantiate a FileStream instance.
35
+ let fs = new FileStream ( " test.txt " , FileMode.OpenOrCreate )
35
36
36
37
// Implementation of Dispose pattern.
37
38
override _.Dispose ( disposing ) =
38
39
if not disposed then
39
40
if disposing then
40
- handle .Dispose()
41
+ fs .Dispose()
41
42
// Free any other managed objects here.
42
43
43
44
// Free any unmanaged objects here.
44
45
disposed <- true
45
46
// Call base class implementation.
46
47
base .Dispose disposing
47
- // </Snippet4>
48
+ // </Snippet4>
Original file line number Diff line number Diff line change
1
+ <Project Sdk =" Microsoft.NET.Sdk" >
2
+
3
+ <PropertyGroup >
4
+ <TargetFramework >net6.0</TargetFramework >
5
+ </PropertyGroup >
6
+
7
+ </Project >
Original file line number Diff line number Diff line change 2
2
Option Strict On
3
3
4
4
' <Snippet3>
5
- Imports Microsoft.Win32.SafeHandles
5
+ Imports System.IO
6
6
Imports System.Runtime.InteropServices
7
7
8
- Class BaseClass : Implements IDisposable
8
+ Class BaseClass1 : Implements IDisposable
9
9
' Flag: Has Dispose already been called?
10
10
Dim disposed As Boolean = False
11
- ' Instantiate a SafeHandle instance.
12
- Dim handle As SafeHandle = New SafeFileHandle(IntPtr.Zero, True )
11
+ ' Instantiate a FileStream instance.
12
+ Dim fs As FileStream = New FileStream( "test.txt" , FileMode.OpenOrCreate )
13
13
14
14
' Public implementation of Dispose pattern callable by consumers.
15
15
Public Sub Dispose() _
@@ -23,7 +23,7 @@ Class BaseClass : Implements IDisposable
23
23
If disposed Then Return
24
24
25
25
If disposing Then
26
- handle .Dispose()
26
+ fs .Dispose()
27
27
' Free any other managed objects here.
28
28
'
29
29
End If
Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ Option Strict On
5
5
Imports System.IO
6
6
Imports System.Text.RegularExpressions
7
7
8
- Public Class WordCount
8
+ Public Class WordCount2
9
9
Private filename As String
10
10
Private nWords As Integer
11
11
Private pattern As String = "\b\w+\b"
@@ -47,9 +47,9 @@ Public Class WordCount
47
47
End Class
48
48
' </Snippet2>
49
49
50
- Public Module Example
50
+ Public Module Example2
51
51
Public Sub Main()
52
- Dim wc As New WordCount ("C:\users\ronpet\documents\Fr_Mike_Mass.txt" )
52
+ Dim wc As New WordCount2 ("C:\users\ronpet\documents\Fr_Mike_Mass.txt" )
53
53
Console.WriteLine( "File {0} ({1}) has {2} words" ,
54
54
wc.Name, wc.FullName, wc.Count)
55
55
End Sub
Original file line number Diff line number Diff line change 2
2
Option Strict On
3
3
4
4
' <Snippet4>
5
- Imports Microsoft.Win32.SafeHandles
5
+ Imports System.IO
6
6
Imports System.Runtime.InteropServices
7
7
8
- Class DerivedClass : Inherits BaseClass
8
+ Class DerivedClass2 : Inherits BaseClass2
9
9
' Flag: Has Dispose already been called?
10
10
Dim disposed As Boolean = False
11
- ' Instantiate a SafeHandle instance.
12
- Dim handle As SafeHandle = New SafeFileHandle(IntPtr.Zero, True )
11
+ ' Instantiate a FileStream instance.
12
+ Dim fs As FileStream = New FileStream( "test.txt" , FileMode.OpenOrCreate )
13
13
14
14
' Protected implementation of Dispose pattern.
15
15
Protected Overrides Sub Dispose(disposing As Boolean )
16
16
If disposed Then Return
17
17
18
18
If disposing Then
19
- handle .Dispose()
19
+ fs .Dispose()
20
20
' Free any other managed objects here.
21
21
'
22
22
End If
@@ -31,7 +31,7 @@ Class DerivedClass : Inherits BaseClass
31
31
End Class
32
32
' </Snippet4>
33
33
34
- Class BaseClass : Implements IDisposable
34
+ Class BaseClass2 : Implements IDisposable
35
35
' Flag: Has Dispose already been called?
36
36
Dim disposed As Boolean = False
37
37
Original file line number Diff line number Diff line change 2
2
Option Strict On
3
3
4
4
' <Snippet6>
5
- Class DerivedClass : Inherits BaseClass
5
+ Class DerivedClass : Inherits BaseClass3
6
6
' Flag: Has Dispose already been called?
7
7
Dim disposed As Boolean = False
8
8
@@ -29,7 +29,7 @@ Class DerivedClass : Inherits BaseClass
29
29
End Class
30
30
' </Snippet6>
31
31
32
- Class BaseClass : Implements IDisposable
32
+ Class BaseClass3 : Implements IDisposable
33
33
' Flag: Has Dispose already been called?
34
34
Dim disposed As Boolean = False
35
35
You can’t perform that action at this time.
0 commit comments