方法 : 部分メソッドを作成する (Visual Basic)
更新 : 2007 年 11 月
部分メソッドを使用すると、開発者は、デザイナ生成のコードにカスタム ロジックを挿入できます。このようなカスタム ロジックは、データ検証に使用するのが一般的です。部分メソッドの作成は、メソッドのシグネチャの定義と、実装の作成という 2 つの部分に分かれます。通常、定義はコード ジェネレータのデザイナによって記述され、実装は生成されたコードを使用する開発者が記述します。詳細については、「部分メソッド」を参照してください。
メソッドのシグネチャを定義するには
部分クラスでは、キーワード Partial によりシグネチャを開始します。
アクセス修飾子として Private を使用します。
Sub キーワードを追加します。メソッドは、Sub プロシージャである必要があります。
メソッドの名前を記述します。
メソッドのパラメータ リストを指定します。
End Sub でメソッドを終了します。
メソッドを実装するには
アクセス修飾子として Private を使用します。
他に含める修飾子があれば、それらを追加します。
メソッドの名前を記述します。この名前は、シグネチャ定義での名前と一致する必要があります。
パラメータ リストを追加します。パラメータ名は、シグネチャでの名前一致する必要があります。パラメータのデータ型は省略できます。
メソッドの本体を定義します。
End Sub ステートメントで閉じます。
使用例
部分メソッドの定義と実装は、通常、部分クラスを使用して作成される異なるファイルに格納されます。一般に、部分メソッドの目的は、プロジェクト内の何かが変更されたことを通知することです。
次の例では、OnNameChanged という名前の部分メソッドを作成して呼び出します。メソッドのシグネチャは、Customer.Designer.vb ファイルの部分クラス Customer で定義されています。実装は Customer.vb ファイルの部分クラス Customer に含まれ、Customer のインスタンスはクラスを使用するプロジェクトで作成されます。
結果は、次のようなメッセージを含むメッセージ ボックスです。
Name was changed to: Blue Yonder Airlines.
' File Customer.Designer.vb provides a partial class definition for
' Customer, which includes the signature for partial method
' OnNameChanged.
Partial Class Customer
Private _Name As String
Property Name() As String
Get
Return _Name
End Get
Set(ByVal value As String)
_Name = value
OnNameChanged()
End Set
End Property
' Definition of the partial method signature.
Partial Private Sub OnNameChanged()
End Sub
End Class
' In a separate file, a developer who wants to use the partial class
' and partial method fills in an implementation for OnNameChanged.
Partial Class Customer
' Implementation of the partial method.
Private Sub OnNameChanged()
MsgBox("Name was changed to " & Me.Name)
End Sub
End Class
Module Module1
Sub Main()
' Creation of cust will invoke the partial method.
Dim cust As New Customer With {.Name = "Blue Yonder Airlines"}
End Sub
End Module