<Attention>
その1に載せたコードを前提に書いています。
</Attention>
今回は単なるキーワードのお話です。IDE云々の話ではありません。
さて、Partial ですが、MSDN!MSDN!
MSDN:Partial (Visual Basic) (http://msdn2.microsoft.com/ja-jp/library/yfzd5350(VS.80).aspx)より。
クラスまたは構造体の宣言が、クラスまたは構造体の部分定義であることを示します。
要するにある宣言が定義のすべてを網羅していませんよ~、他のところにも定義しているところがあるかもしれませんよ~ってことですかね。
試してみましょうか。Visual Studio 2005 を使用して Visual Basic で WindowsApplication プロジェクトを作成します。プロジェクト名は「WindowsApplication1」でいいですね。(いい加減コレやめとこか・・・。)
そこにひとつクラスを追加してみましょう。「Class1」でいいですよ♪Class1.vbというファイルができましたね?それを開いてみます。
Public Class Class1
End Class
それを以下の内容に変更します。
Public Class Class1
End Class
Partial Class Class1
End Class
これで出来上がりです。下の Partial Class Class1 が Class1 の部分定義です。この二つの宣言の内容すべてが Class1 の定義になるんですね。逆に言うと、Class1の定義を分割して書けるわけですね。
ちなみにこんなこと↓しても問題なし!
Public Class Class1
End Class
Partial Class Class1
End Class
Partial Class Class1
End Class
Partial Public Class Class1
End Class
Partial Public Class Class1
End Class
ここで注意事項です。先ほどのMSDNからの引用になりますが、
すべての宣言は同じアセンブリと同じ名前空間内にある必要があります。
べべ、べつに TextBox の Partial クラスを作ろうとしたとか、そんなんじゃないですよ!!(´Д`;;;)
・・・というわけで、その1で作成された Form1.Designer.vb は Form1 クラスの部分定義が書かれたファイルだったんですね。ユーザーコードとデザイナコードを分離するためでしょうか。
とはいえ、この Partial って、自分ではあんまり使ったことがないです。もともと整理整頓がうまくないので定義を整然と分割できない、なら一箇所でいいや♪って感じです。うまく使うとファイルやらコードやらすっきりするんでしょうけど・・・
どなたか活用法を教えてくださいませ。m(_ _;)m
# しかしなぜ、Dispose()がこっちに・・・。