パーシャルクラスってなんだろう?と常々思っていたので調べてみました。
あぁ…そういうことですか。
ということでメモ
クラス(Class)の定義を複数のClassブロックに分割し、それぞれ異なるコードファイルとして効率よく管理・運用するためのクラスををパーシャルクラス(Partial Class)と言います。
※パーシャルクラスのことを部分クラスとも言います。
まあ、これだけでは分かり辛いのですが、私たちは知らず知らずのうちにパーシャルクラスを使っていて、プロジェクトにフォームを追加した時に自動で生成されるコードもPartial Classだったんですね。
ということでその確認方法。
- Visual Basic 2005で新しくプロジェクトを作成します。(フォームの名前は既定値のForm1で結構です。)
- その状態で、通常右側に表示してあるソリューションエクスプローラーの表示の直下にいくつかのアイコンがあり、そのアイコンの左から2番目のアイコンにマウスのポインタを持っていくと[すべてのファイルを表示]と表示されますので、クリックしてください。
- ソリューションエクスプローラー内のForm1.vbのアイコンの左に[+]マークが出てきますので、クリックします。
- Form1.vbの直下にForm1.Designer.vbが現れますのでダブルクリックしてみてください。
- 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の設定に合わせ、内容が変わることもありますのでご注意。