3 Idisposable BP Csharp Developers Slides
3 Idisposable BP Csharp Developers Slides
Elton Stoneman
geekswithblogs.net/eltonstoneman
@EltonStoneman
What Happens If You Don't Dispose?
b b
6 6 Do Not Place Anything
in This Space
(Add watermark during
editing)
Note: Warning will not appear
during Slide Show view.
Diagnosing IDisposable Issues
Design time
Run time
b
Do Not Place Anything
in This Space
(Add watermark during
editing)
Note: Warning will not appear
during Slide Show view.
Demo 1: Finding Problems at Run-Time
b
Do Not Place Anything
in This Space
(Add watermark during
editing)
Note: Warning will not appear
during Slide Show view.
Demo 1: Finding Problems at Run-Time
70000
63000 63000
60000
50000
40000
30000
20000
10000
15000
392
0
Startup First Run Multiple Runs GC.Collect
80000
74000 74000
71000
70000
63000 63000
60000
50000
40000
30000
20000
10000
6000 15000
0 392
Startup First Run Multiple Runs GC.Collect
"Recommended" rules
Do not include CA2000
Correctly set up
Find and fix issues quickly
But not all issues
command.ExecuteNonQuery();
}
CA2000 warning
70000
63000 63000
60000
50000
40000
30000
20000
10000
15000
392
0
Startup First Run Multiple Runs GC.Collect
70000
63000 63000
60000
50000
40000
30000
20000
15000
10000 12600
11000 12600
392
0 394
Startup First Run Multiple Runs GC.Collect
L
Code map
Trial-and-error
Try using{} block
Intellisense
Look for .Dispose()
80000
74000 74000
71000
70000
60000
50000
40000
30000
20000
10000
6000
0
Startup First Run Multiple Runs GC.Collect
80000
74000 74000
71000
70000
50000
40000
30000
20000
10000
6000
6000
0
Startup First Run Multiple Runs GC.Collect
//...
}