ひとつのクラスを複数ファイルに分割する方法 partical【 C# 】

C# Tips PROGRAMMING

こんにちは、mick

C# には、ひとつのクラスを複数ファイルに分割して記述する方法があります。それが、partical 型を使ったやり方。

この仕組は、複数人でプログラミングしているときに活躍します。たとえば、TFS ( Team Foundation Server )のように、編集中のファイルを頻繁にロック(専有して他の人が触れないようにする)ときとか。逆に言えば、一人でプログラミングしていると使う機会は少ないです。

他には、フォームデザイナーのように自動的に生成されたソースに対して、クラスを追加できるようになります。

partical を使ってクラスを分割する C#

使い方は簡単。ネームスペースとクラス名を同じにした上で、クラス名の前に partical を記述すればOK。分割するクラスには、すべて partical を付けます。こういったクラスは、部分クラスというようです。

namespace TEST
{
    partial class A // 部分クラス
    {
        void MethodA() { }
        partial void MethodC(); // 部分メソッド
    }
}
namespace TEST
{
    partial class A // 部分クラス
    {
        void MethodB() { }
        partial void MethodC() { } // 部分メソッド
    }
}

partical を使って、クラスなどを分割できる、できないは、次のようになっています。

partical  型が使える。

  • クラス
  • 構造体
  • インターフェース
  • レコード定義
  • メソッド(部分クラスで)

partical 型が使えない。

  • デリゲート
  • 列挙宣言
  • メソッド(部分クラスでない)

partial 型 (C# リファレンス) | Microsoft

部分クラスと部分メソッド (C# プログラミング ガイド) | Microsoft

記事を読んでくれて嬉しいです。
今日もありがとうございました。

初稿 2021/11/21