Part 1: .NET Type System
Basic concepts
Basic Object Operation
- Know your type conversion options
- Object Equality and Identity
- Implement GetHashCode when object.Equals is overrided.
Interface and Inheritance
- Choose carefully between interface and abstract base class
- Be aware of method version problem
- Use Explicit Interface Implementation to enforce compile time type safety
Other Type Members
- Use static readonly field instead of const
- Never change the value of a property in get method
- The right way to implement operator++ for reference types
Design For Efficience
Part 2: Runtime Services and Framework Class Library
Memory Management
- Understand how objects are getting destroied
- Implement object pooling using Resurrection
- Use Weak Reference when appropriate
Reflection
- Side by Side execution and Assembly.LoadFrom
- Unleash the power of Run time code generation
- Late Binding to COM objects
- Load and Unload Assemblies Dynamically at Runtime
Serialization
- Two views of the world, two ways to serialize
- Create XML Schema compatible data type
Remoting and Web Services
Part 3: Miscellaneous
Versioning and Deploying
Tools and Resources
- Analyze .NET Application Memory Behavior using performance monitor
- An introducation to Rotor: The Shared Source CLI
|
|