
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
324
|
Chapter 6: Iterators and Partial Types
Partial types allow the developer to split pieces of a type across several areas where
the type is defined. The type can be in multiple files, multiple areas in the same file,
or a combination of the two. Declaring a type as partial is an indicator to the C#
compiler that this type may not be fully represented in this location and that it can-
not be fully compiled until the other parts are found or the end of the list of modules
to compile is found. Partial types are purely a compiler-implemented feature with no
impact to the underlying Microsoft Intermediate Language that is generated for the
class. The main examples of using partial types are in the Visual Studio IDE, where
the designer uses them to keep designer-generated code separate from UI logic the
developer creates, and in the
DataSet creation code, which is based on an XML
Schema Definition of the data. Even though partial types are only a compiler-level
feature, you can use them to your advantage in a few situations that are pointed out
in Recipes 6.10 and 6.11.
6.1 Implementing Nested foreach Functionality
in a Class
Problem
You need a class that contains a list of objects; each of these objects in turn contains
a list of objects. You want to use a nested
foreach loop to iterate through ...