C# Corner columnist Patrick Steele offers a heads up on five gotchas that can trip up even veteran C# programmers.
- By Patrick Steele
- 09/02/2010
In the second of two Windows 7-themed columns, Patrick Steele looks at how to get the most out of thumbnails with the Windows API CodePack.
- By Patrick Steele
- 08/04/2010
Explore new ways to manage dependencies in your applications with Inversion of Control containers and Dependency Injection.
- By Patrick Steele
- 08/01/2010
Windows 7 contains a number of UI improvements to the classic taskbar. One very useful feature for quickly launching an application with its associated files is Jump Lists. In this issue, we'll look at how you can utilize Jump Lists in your own Windows 7 applications.
- By Patrick Steele
- 07/29/2010
Patrick Steele looks into C# Code Contracts under .NET 4 and how they can streamline code validation.
- By Patrick Steele
- 06/22/2010
Patrick Steele shows how you can realize major performance gains when working with large images by using memory-mapped files.
- By Patrick Steele
- 06/22/2010
Patrick Steele illustrates useful techniques for modifying existing code while maintaining backward compatibility.
- By Patrick Steele
- 05/01/2010
Use LINQ outside of databases to make your code easier to read and maintain.
- By Patrick Steele
- 03/01/2010
Interfaces can make your applications easier to test and maintain.
- By Patrick Steele
- 01/01/2010
How factoring out common patterns in your Azure worker roles can improve development.
Optional and named parameters were added to the C# language for COM and Office interoperability, but these features are actually useful in a variety of ways.
Exceptions are a way of life in the .NET world. You must follow the rules to make your classes easy to use for other developers. Conforming to the standards will make everyone's life easier.
Covariance and contravariance are precise terms that describe which conversions are safe on parameters and return types. Learn practical definitions for those terms, what new constructs will be supported in C# 4.0 and how to live with the current limitations until Visual Studio 2010 is adopted by your organization.
There are multiple ways to solve every problem. Strive for code that communicates your intent and makes your meaning clear for every developer who uses it.
Taking a careful look at the capabilities the compiler gives to anonymous types provides an excellent tutorial on what you should consider when you create your types -- including whether they are classes or structs.