It is strongly recommended that you follow these design guidelines when developing classes and components that extend the .NET Framework. Inconsistent design adversely affects developer productivity. Development tools and add-ins can turn some of these guidelines into de facto prescriptive rules, and reduce the value of nonconforming components. Nonconforming components will function, but not to their full potential.
These guidelines are intended to help class library designers understand the trade-offs between different solutions. There might be situations where good library design requires that you violate these design guidelines. Such cases should be rare, and it is important that you provide a solid justification for your decision. The section provides naming and usage guidelines for types in the .NET Framework as well as guidelines for implementing common design patterns.
Topics included: Relationship to the Common Type System and the Common Language Specification • Naming Guidelines • Class Member Usage Guidelines • Type Usage Guidelines • Guidelines for Exposing Functionality to COM • Error Raising and Handling Guidelines • Array Usage Guidelines • Operator Overloading Usage Guidelines • Guidelines for Implementing Equals and the Equality Operator (==) • Guidelines for Casting Types • Common Design Patterns • Security in Class Libraries • Threading Design Guidelines • Guidelines for Asynchronous Programming •
Publisher: Microsoft Corporation