
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
218
|
Chapter 4: Generics
• If your type will be operating on value types, so that boxing and unboxing opera-
tions will occur, you should consider using generics to prevent the boxing and
unboxing operations.
• The stronger type checking associated with generics will aid in finding errors
sooner (i.e., during compile time as opposed to runtime), thus shortening your
bug-fixing cycle.
• Is your code suffering from “code bloat,” with you writing multiple classes to
handle different data types on which they operate (e.g., a specialized
ArrayList
that stores only StreamReaders and another that stores only StreamWriters)? It is
easier to write the code once and have it just work for each of the data types it
operates on.
• Generics allow for greater clarity of code. By eliminating code bloat and forcing
stronger type checking on your types, your code will be easier to read and
understand.
Discussion
In most cases your code will benefit from using a generic type. Generics allow for
more efficient code reuse, faster performance, stronger type checking, and easier-to-
read code.
See Also
See the “Generics Overview” and “Benefits of Generics” topics in the MSDN
documentation.
4.2 Understanding Generic Types
Problem
You need to understand how the .NET types work for generics and what differences
there are ...