パーシャルクラスの使い方【C#】

パーシャルクラスを作ると、ひとつのクラスの内容を複数のファイルに分割することができます。

プログラムの書き方

基本的にクラス名の先頭に「partial」と付けるだけで、コンパイラがうまいことやってくれます。

ファイル1のプログラム

namespace PClass {
  partial class Program {
    static void Main(string[] args) {
      Console.WriteLine(getMessage());
      Console.ReadKey();
    }
  }
}

ファイル2のプログラム

namespace PClass {
  partial class Program {
    static String getMessage() {
      return "Hello World!!";
    }
  }
}

まとめ

継承でも同じようなことができそうですが、その場合は、継承元クラスに書いたメソッドのアクセス権をパブリックにしなければなりません。パーシャルクラスではプライベート関数同士であったとしても、相互に呼び出すことができるのです。

パーシャルクラスというものを知らないときに「このメソッドはどこに定義されているのか?」「なぜ動くのかわからない」ということがありました。同じネームスペース内にあるとはいえ、規模の大きいプロジェクトになると、どこのファイルに実体があるのか意味不明になることも多いです。他言語では見ない書き方ですし、乱用はしないようにしましょう。

C#

Posted by @erestage