トップ回答者
ソースコードの分割について

質問
回答
-
外池と申します。
「Partial」というキーワードを使うと、一つのクラスを複数のファイルに分けて記述して定義することができます。
http://msdn.microsoft.com/ja-jp/library/yfzd5350(v=VS.100).aspx
「なお、変数名・定数などは・・・」の部分のご要望については、書かれておられるプログラム全体の構成がどのようになっているのかが不明なので、現時点ではノーコメントとさせてください。
(ホームページを再開しました)- 回答としてマーク mori mori 2011年11月19日 7:34
すべての返信
-
同一のプロジェクト内であればClassやStructureの前にPartialと記述することで可能ですよ。
'ファイル1に記述 Friend Class TestClass Public Sub New() Hoge = "あいうえお" End Sub Private Hoge As String Private Const Fuga As String = "かきくけこ" End Class 'ファイル2に記述 Partial Friend Class TestClass Public Sub Test() System.Windows.Forms.MessageBox.Show(Hoge) Hoge = Fuga System.Windows.Forms.MessageBox.Show(Hoge) End Sub End Class
上記例だと、ファイル2側に記述したコードはファイル1側で宣言したプライベートな変数、定数などにアクセスできます。#VBだと同一ファイル内で分割も可能です
個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!) -
外池と申します。
「Partial」というキーワードを使うと、一つのクラスを複数のファイルに分けて記述して定義することができます。
http://msdn.microsoft.com/ja-jp/library/yfzd5350(v=VS.100).aspx
「なお、変数名・定数などは・・・」の部分のご要望については、書かれておられるプログラム全体の構成がどのようになっているのかが不明なので、現時点ではノーコメントとさせてください。
(ホームページを再開しました)- 回答としてマーク mori mori 2011年11月19日 7:34
-
ご質問の趣旨からすると、本当にそれで本質的な解決になっているのでしょうか? まず、Partialは長いソースを分割して複数のファイルに分けることを目的としていません。結果的にそういう形になるので誤解が多いのですが、VBでもC#でも1つのファイル内でPartialを用いて分割することができます。
一つのソースコード、おそらく一つのクラスだと思うですが、それをいくらPartialで分割しようとも一つのクラスには変わりありません。結果的に巨大で扱いにくいクラスに成長する可能性があります。
今回のようにPartialを用いてソースコードを分割して見通しを良くするケースも確かにあるでしょう。しかし、その前に、共通で使う機能は別のクラスに分割して書き出せないか、継承が使えないかなどを考えられた方が良いと思います。もし、検討された後でしたら蛇足です。ごめんなさい。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/- 回答の候補に設定 ShiroYuki_Mot 2012年6月22日 5:39