工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C# 部分クラスと部分メソッド

C# 部分クラスと部分メソッド

この記事では、C# で部分クラスと部分メソッドを実装する方法と理由について学習します。

クラス定義の分割が必要になる状況は数多くあります。たとえば、大規模なプロジェクトで作業している場合、複数の開発者やプログラマーが同じクラスで同時に作業する必要がある場合があります。この場合、Partial Class という機能を使用できます。 .


部分クラスの紹介

C# (または OOP) でプログラミングしているときに、クラスの定義を 2 つ以上のソース ファイルに分割できます。ソース ファイルにはクラス定義のセクションが含まれており、アプリケーションのコンパイル時にすべての部分が結合されます。クラス定義を分割するには、 partial を使用する必要があります キーワード。

例 1:

HeightWeightInfo という名前のプロジェクトがあります 身長と体重を示します。

File1.cs という名前のファイルがあります Record という名前の部分クラス . 2 つの整数変数 h があります &w Record という名前のメソッド/コンストラクター h の値を割り当てています &w .

namespace HeightWeightInfo
{
    class File1
    {
    }
    public partial class Record
    {
        private int h;
        private int w;
        public Record(int h, int w)
        {
            this.h = h;
            this.w = w;
        }
    }
}

同じ部分クラス Record を持つ File2.cs という名前の別のファイルを次に示します。 メソッド PrintRecord のみを持つ .このメソッドは h の値を表示します &w .

namespace HeightWeightInfo
{
    class File2
    {
    }
    public partial class Record
    {
        public void PrintRecord()
        {
            Console.WriteLine("Height:"+ h);
            Console.WriteLine("Weight:"+ w);
        }
    }
}

ここに main が表示されます プロジェクトの方法:

namespace HeightWeightInfo
{
    class Program
    {
        static void Main(string[] args)
        {
            Record myRecord = new Record(10, 15);
            myRecord.PrintRecord();
            Console.ReadLine();
        }
    }
}

ここに Record クラスのオブジェクトがあります myRecord として パラメータ値を 10 と 15 として h に渡します そしてw それぞれ File1.cs で定義されたメソッドに .

メソッド PrintRecord オブジェクト myRecord によって呼び出されます File2.cs で定義されている .

これは partial キーワードは、さまざまなファイルで定義されたクラスのすべての属性を組み合わせて、単一のクラスとして機能させるのに役立ちます。

partial の場所 クラスを使用できます:

<オール>
  • 複数の開発者が参加する大規模なプロジェクトに取り組んでいる間、開発者が同じクラスで同時に作業するのに役立ちます
  • IDE (つまり、Visual Studio) によって自動的に生成されるソース ファイルを再作成することなく、コードをクラスに追加または変更できます。

  • 部分授業について覚えておくべきこと

    partial キーワードは、クラスの他の部分を名前空間で定義できることを指定します。クラスを部分的にしようとしている場合は、partial キーワードを使用することが必須です。クラスのすべての部分は同じ名前空間にあり、最終的な型を形成するためにコンパイル時に利用できる必要があります。すべてのパーツに同じアクセス修飾子 (private、public など) が必要です。

    **注: partial 修飾子はデリゲートまたは列挙宣言では使用できません


    部分メソッドの紹介

    部分クラスには部分メソッドが含まれる場合があります。クラスの一部には、メソッドのシグネチャが含まれています。オプションの実装は、同じ部分または別の部分で定義できます。実装が提供されていない場合、メソッドとすべての呼び出しはコンパイル時に削除されます。

    例 2:

    部分クラスとして例を挙げてみましょう Car file1.cs で定義 InitializeCar の 3 つのメソッドがあります ()、BuildRim () と BuildWheels ().これらのメソッドのうち、InitializeCar partial と定義されています .

    public partial class Car
    {
        partial void InitializeCar();
        public void BuildRim() { }
        public void BuildWheels() { }
    }

    file2.cs という名前の別のファイルがあります これには 2 つのメソッド BuildEngine があります と InitializeCar .メソッド InitializeCar file1.cs でも定義されている部分メソッドです .

    public partial class Car
    {
        public void BuildEngine() { }
        partial void InitializeCar()
        {
            string str = "Car";
        }
    }

    部分メソッド宣言は 2 つの部分で構成されます:

    <オール>
  • file1.cs のような定義 .
  • file2.cs のような実装 .
  • それらは、部分クラスの別々の部分にある場合もあれば、同じ部分にある場合もあります。


    部分メソッドについて覚えておくべきこと


    C言語

    1. C# クラスとオブジェクト
    2. C# の抽象クラスとメソッド
    3. C# の封印されたクラスとメソッド
    4. C++ クラスとオブジェクト
    5. C++ フレンド関数とフレンド クラス
    6. Java - オブジェクトとクラス
    7. C# - 継承
    8. C# - ポリモーフィズム
    9. ASTM A729 クラス A 二重焼きならし焼戻し
    10. ASTM A649 クラス 2 正規化および強化
    11. ASTM A288 クラス 4 焼入れ焼戻し