.NET news » C# 
Pro C# 2008 and the .NET 3.5 Platform, Fourth Edition (Windows.Net)
Author: Andrew Troelsen
Average rating: (34 reviews)
More .NET C# books
Testing Custom Transform Streams
One of the first things that developers new to the Microsoft .NET Framework learn is how to read from and write to text files using methods from the FileStream class of the System.IO namespace. However, the .NET I/O stream model also provides developers with a powerful way to create custom stream classes. In this month's column, I'll explain key techniques you can use to test such custom stream classes-and specifically those that deal with transforming data read from or written to another stream.
The "using" keyword in C#
A look at the c# "using" keyword. What happens behind the scenes.
The use of Stacks in C#
Using a stack to manage priorities
How Events Work Under the Surface
Shows what goes on behind the "magic" that the compiler does when you declare a simple event member in a class.
Back to basics - Generic Data Structures and Algorithms In .NET 2.0
Implementations of generic data structures and algorithms in .NET 2.0.
When and How to Use Dispose and Finalize in C#
Although the .NET framework frees managed memory and resources transparently, it's not as adept at freeing unmanaged resources; you have to help it out by implementing the Dispose and Finalize patterns in your code.
Fun with Singletons in C# 2.0
This article will show you how to create generic singletons that honor all of their properties and at the same time are extensible enough to handle not so obvious scenarios.
Observable property pattern, memory leaks, and weak delegates for .NET
This article is dedicated to the observable property design pattern, a very nice pattern used in the Microsoft .NET Framework, a possible memory leak problem with it, and gives a couple of ways to solve it.
13 Nov 2006, 12:11:00 Source: Observable property pattern, memory leaks, and weak...
Tags: C#
Performance
MethodLogger - Hook into method calls in .NET binaries
Modifies .NET MSIL binaries to call configured methods at the beginning and end of methods in the binaries.
Dynamic Dispatching
This article demonstrates how to work around problems with the classical Visitor pattern by employing dynamic dispatching.

