11.3. Partial Types
Partial types are a simple concept that enable a single type to be split across multiple files. The files are combined at compile time into a single type. As such, Partial types cannot be used to add or modify functionality in existing types. The most common reason to use Partial types is to separate generated code. In the past, elaborate class hierarchies had to be created to add additional functionality to a generated class due to fear of that code being overwritten when the class was regenerated. Using Partial types, the generated code can be partitioned into a separate file, and additional code added to a file where it will not be overwritten by the generator.
Partial types are defined by using the Partial keyword in the type definition. The following example defines a Person class across two files:
'File 1 - fields and constructor
Partial Public Class Person
Private m_Name As String
Private m_Age As Integer
Public Sub New(ByVal name As String, ByVal age As Integer)
Me.m_Name = name
Me.m_Age = age
End Sub
End Class
'File 2 - public properties
Public Class Person
Public ReadOnly Property Age() As Integer
Get
Return Me.m_Age
End Get
End Property
Public ReadOnly Property Name() As String
Get
Return Me.m_Name
End Get
End Property
End Class
You will notice that the Partial keyword is used only in one of the files. This is specific to VB.NET, because C# requires all partial classes to use this keyword. The disadvantage there is that the Partial keyword needs ...