AQUA's .NET 奮闘記

Hobby Programmer の成長記録

目次

ニュース

  • わんくま同盟
    わんくま同盟
  • わんくま掲示板
    C# と VB.NET の質問掲示板
スカウター : AQUA's .NET 奮闘記

日記カテゴリ

記事カテゴリ

書庫

Blog 利用状況

わんくま同盟 AWARD

わんくま同盟 影

パーシャルクラス(Partial Class)ってなんだ!? ①

パーシャルクラスってなんだろう?と常々思っていたので調べてみました。
あぁ…そういうことですか。

ということでメモ

クラス(Class)の定義を複数のClassブロックに分割し、それぞれ異なるコードファイルとして効率よく管理・運用するためのクラスををパーシャルクラス(Partial Class)と言います。

※パーシャルクラスのことを部分クラスとも言います。

まあ、これだけでは分かり辛いのですが、私たちは知らず知らずのうちにパーシャルクラスを使っていて、プロジェクトにフォームを追加した時に自動で生成されるコードもPartial Classだったんですね。

ということでその確認方法。

  1. Visual Basic 2005で新しくプロジェクトを作成します。(フォームの名前は既定値のForm1で結構です。)
  2. その状態で、通常右側に表示してあるソリューションエクスプローラーの表示の直下にいくつかのアイコンがあり、そのアイコンの左から2番目のアイコンにマウスのポインタを持っていくと[すべてのファイルを表示]と表示されますので、クリックしてください。
  3. ソリューションエクスプローラー内のForm1.vbのアイコンの左に[+]マークが出てきますので、クリックします。
  4. Form1.vbの直下にForm1.Designer.vbが現れますのでダブルクリックしてみてください。
  5. Form1.Designer.vbのソースファイルの内容が表示されます。

5番目までの手順を行うとソースファイルが表示されます。そこには次のように書かれていると思います。

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _

Partial Class Form1

    Inherits System.Windows.Forms.Form

    'フォームがコンポーネントの一覧をクリーンアップするために dispose をオーバーライドします。

    <System.Diagnostics.DebuggerNonUserCode()> _

    Protected Overrides Sub Dispose(ByVal disposing As Boolean)

        If disposing AndAlso components IsNot Nothing Then

            components.Dispose()

        End If

        MyBase.Dispose(disposing)

    End Sub

 

    'Windows フォーム デザイナで必要です。

    Private components As System.ComponentModel.IContainer

 

    'メモ: 以下のプロシージャは Windows フォーム デザイナで必要です。

    'Windows フォーム デザイナを使用して変更できます。 

    'コード エディタを使って変更しないでください。

    <System.Diagnostics.DebuggerStepThrough()> _

    Private Sub InitializeComponent()

        components = New System.ComponentModel.Container

        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font

        Me.Text = "Form1"

    End Sub

End Class

2行目の所に

Partial Class Form1

とあります。これはこのソースファイルがForm1の部分クラス(Partial Class)であることを意味します。

パーシャルクラスの使い方についてはいずれまた…

※ この記事は書きかけです。いずれ行いますCSSの設定に合わせ、内容が変わることもありますのでご注意。

投稿日時 : 2006年11月20日 12:33

Feedback

No comments posted yet.
タイトル  
名前  
Url
コメント