マイクロソフト株式会社 デベロッパー & プラットフォーム統括本部
エバンジェリスト 辻郷 隆史

最終更新日 2005 年 12 月 7 日

このコンテンツのポイント

  • パーシャル クラスの利用方法を理解する。

今回紹介するコード

< Calc.vb >

Visual Basic
Public Class Calc
    Function AddValue(ByVal x As Integer, ByVal y As Integer) As Integer
        Return x + y
    End Function
End Class
 

< Calc2.vb >

Visual Basic
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 >

Visual Basic
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 プロジェクトのストアド プロシージャなどを始め、パーシャルクラスを利用して実現しています。

このように、デザインやロジックなど種別が異なるものの分割に利用したり、実際の管理単位とコードの分割単位を統一するなど、今まで以上により管理し易い形で利用することが可能です。
パーシャル クラスをアプリケーション開発に、ぜひ活用ください。 


Code Recipe .NET Framework デベロッパー センター

ページのトップへ