- Apache License, Version 2.0
- Visual Studio 2005
- 10 行でズバリ!!
- Windows フォーム
- 02/16/2011
マイクロソフト株式会社 デベロッパー & プラットフォーム統括本部
エバンジェリスト 辻郷 隆史
最終更新日 2005 年 12 月 7 日
- パーシャル クラスの利用方法を理解する。
< Calc.vb >
Public Class Calc
Function AddValue(ByVal x As Integer, ByVal y As Integer) As Integer
Return x + y
End Function
End Class
< Calc2.vb >
Public Partial Class Calc
Private mTotalValue As Integer
Public ReadOnly Property TotalValue() As Integer
Get
Return mTotalValue
End Get
End Property
Function AddValue2(ByVal x As Integer) As Integer
mTotalValue = AddValue(mTotalValue, x)
Return mTotalValue
End Function
End Class
<Modue1.vb >
Module Module1
Sub Main()
Dim obj As New Calc()
' Calc.vb ファイルのメンバ利用
Console.WriteLine(obj.AddValue(1, 2))
' Calc2.vb ファイルのメンバ利用
obj.AddValue2(10)
obj.AddValue2(20)
Console.WriteLine(obj.TotalValue)
Console.ReadLine()
End Sub
End Module
- Visual Studio 2005 Release Cadidate
はじめに
作成するアプリケーションの概要
クラスの作成
パーシャル クラスを使用したクラスメンバーの追加
パーシャル クラスの利用
動作と解説
おわりに
Visual C# の内容はこちらに掲載しています。 | |
10 行でズバリ!! パーシャル クラスの利用 (C#) |
Visual Studio 2005 / .NET Framework 2.0 では Visual Basic 2005 を始め、パーシャル クラスを利用して複数のファイルにクラスメンバーを分割して管理することが出来ます。
今回の 10 行シリーズでは、パーシャル クラスを利用する方法について、簡単なサンプルアプリケーションを通じて解説します。
今回のサンプルでは、計算を行うクラスとそれを使用するコンソール アプリケーションを作成します。
計算クラスではパーシャル クラスを使用し、複数のファイルに亘るクラスメンバーの実装を行います。
Visual Studio 2005 を起動して、新規にプロジェクトを作成します。
ここでは、[ Visual Basic ] で [ コンソール アプリケーション ] テンプレートを使用します。
図 1. コンソール アプリケーションの作成
次に、プロジェクトへ Calc クラスを追加します。
メニューより [ プロジェクト ] で [ クラスの追加 ] を選択します。
図 2. Calc クラスの追加
ファイル名 Calc.vb で Calc クラスを作成後、以下の赤字で書かれているコードを記述します。
Public Class Calc
Function AddValue(ByVal x As Integer, ByVal y As Integer) As Integer
Return x + y
End Function
End Class
クラス メンバー AddValue メソッドにて、パラメータとして受け取った値を足した結果を返すコードを記述します。
更に、プロジェクトへ Calc クラス(パーシャル クラス)を追加します。
メニューより [ プロジェクト ] で [ クラスの追加 ] を選択します。
図 3. パーシャル クラスの追加
ファイル名 Calc2.vb でクラスを作成後、以下の赤字で書かれているコードを記述します。
Public Partial
Class Calc
Private mTotalValue As Integer
Public ReadOnly Property TotalValue() As Integer
Get
Return mTotalValue
End Get
End Property
Function AddValue2(ByVal x As Integer) As Integer
mTotalValue = AddValue(mTotalValue, x)
Return mTotalValue
End Function
End Class
Class ステートメントへ Partial キーワードを指定することにより、パーシャル クラスとして使用することが可能です。
Calc クラスへ新たなメンバー mTotalValue フィールド、TotalValue プロパティ、AddValue2 メソッドをパーシャルクラスにて追加します。
AddValue2 の中では、別ファイルに記述されている同一クラスの AddValue メソッドを呼び出しています。
プロジェクトを作成した際に、自動生成されたモジュール ファイル( "Module1.vb" )に、パーシャル クラスを使用するコードを記述します。
Module1.vb へ、以下の赤字で書かれているコードを記述します。
Module Module1
Sub Main()
Dim obj As New Calc()
' Calc.vb ファイルのメンバー利用
Console.WriteLine(obj.AddValue(1, 2))
' Calc2.vb ファイルのメンバー利用
obj.AddValue2(10)
obj.AddValue2(20)
Console.WriteLine(obj.TotalValue)
Console.ReadLine()
End Sub
End Module
Calc クラスをインスタンス化し、Calc.vb ファイルと Calc2.vb ファイルとの、それぞれのクラス メンバーを呼び出し、結果をコンソールへ表示するコードを記述します。
作成したコンソール アプリケーションを実行します。
図 4.サンプルアプリケーションの実行
上記の通り、複数ファイルへクラス メンバーを分割した場合でも、利用する側からは 1 つのファイルへ書かれている場合と同様に利用することができます。
また、AddValue2 から AddValue を呼び出しているように、パーシャルクラスを実装する側でも 1 つのファイルへ書かれている場合と同様に使用することが可能です。
このように、パーシャル クラスを利用することにより、同じクラスのメンバーを複数ファイルへ分割して作成することが可能です。
パーシャル クラスにより、いままで以上に詳細なレベルでのソース管理を行うことが出来るようになります。
実際の利用例としては、Visual Studio 2005 のテンプレートで用意されている、Windows フォームのコードとデザインを分離するコード ビハインド機能や、SQL Server プロジェクトのストアド プロシージャなどを始め、パーシャルクラスを利用して実現しています。
このように、デザインやロジックなど種別が異なるものの分割に利用したり、実際の管理単位とコードの分割単位を統一するなど、今まで以上により管理し易い形で利用することが可能です。
パーシャル クラスをアプリケーション開発に、ぜひ活用ください。
|