C# の別のクラスにクラスを含める

Syed Hassan Sabeeh Kazmi 2023年10月12日
  1. C# で using <namespace> を使用して別のクラスにクラスを含める
  2. C# で継承を使用して別のクラスにクラスを含める
C# の別のクラスにクラスを含める

このチュートリアルでは、C# の別のクラスにクラスを含めるためのさまざまなメソッドを学習します。ユーザー定義のブループリントまたはプロトタイプとしてのクラスには、別のクラス内で呼び出すことができるオブジェクトとメソッドが含まれています。

別のクラスにクラスを含めると、クラスは別のクラスのメソッドとオブジェクトを呼び出すことができます。この機能により、ユーザーはクラスを技術的にグループ化し、より読みやすく保守しやすいコードを作成できます。

C# で using <namespace> を使用して別のクラスにクラスを含める

C# の名前空間は、論理的に配置されたクラス、構造、インターフェイス、列挙、または委任です。C# の名前空間はネストできます。つまり、クラスを定義して別のクラスに含めることができます。

特定の名前空間のクラスと別の .cs ファイルのクラスは、using <namespace>; によって呼び出すことができます。クラスのメンバーは、using <namespace>.<method> のように、別のクラスに定義するときに dot(.) 演算子を使用してアクセスできます。

// WelcomeClass.cs

namespace SubClassNamS {
  public class WelcomeClass {
    public static void Welcome() {
      // To show a message box when this method from `WelcomeClass` will be called by another class
      MessageBox.Show("Hello World!", "Test Subject", MessageBoxButtons.OK,
                      MessageBoxIcon.Information);
    }
  }
}

C# プロジェクトの WelcomeClass クラスは、WelcomeClass.cs ファイルの一部です。Welcome() メソッドが含まれています。

名前名 SubClassNamS は、このクラスへの参照であり、別のクラスに含めるために使用できます。

Form1.cs は C# のフォームで、button1 ボタンのみが含まれています。WelcomeClass.csForm1.cs は同じ C# プロジェクトの一部であり、WelcomeClass.cs クラスは、名前名を使用して Form1.cs のクラスから呼び出すことができます。

// Form1.cs

// Use `using` Namespace of another class from a different file
using static SubClassNamS.WelcomeClass;

namespace IncludeClass {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e) {}

    // Button `Button1` click event
    private void button1_Click(object sender, EventArgs e) {
      // No need to mention `WelcomeClass` here
      Welcome();
    }
  }
}

SubClassNamS.WelcomeClass を含めると、SubClassNamS 名前名から WelcomeClass にアクセスできます。

このメソッドは、C# で namespace を使用してメソッドとメンバーを導入することにより、WelcomeClass クラスを Form1 クラスにインポートまたは含めるのに役立ちます。

C# で継承を使用して別のクラスにクラスを含める

2つのクラスが C# の同じ .cs ファイルからのものである場合、[class].[method](); を使用してクラスを別のクラスに含めることができます。継承を使用して、あるクラスから別のクラスにメソッドと要素を導入することができます。

クラス継承の概念は、Base または親クラスと呼ばれる別のクラスから継承する Derived または子クラスで構成されます。継承により、クラスのインポートが難しくなりますが、親クラスのみを呼び出すことで、両方のクラスのメソッドを利用できます。

using System;

// Parent Class
class Rocket {
  public string Type = "Rocket";
  public void bang() {
    Console.WriteLine("Boom, Boom!");
  }
}

// Child Class
class Celebration : Rocket {
  public string RocketModel = "HappyJones";
}

// Main program
class Program {
  static void Main(string[] args) {
    Celebration Air = new Celebration();
    Air.bang();
    Console.WriteLine(Air.Type + ": " + Air.RocketModel);
  }
}

出力:

Boom, Boom!
Rocket: HappyJones

Rocket クラスと Celebration クラスの両方の要素にアクセスできる Celebration クラスのオブジェクトとして Air を作成します。C# では、派生クラスの Air オブジェクトは、継承を使用して 2つの異なるクラスを Program クラスにインポートするのに役立ちます。

両方のクラスが同じ名前名からのものである場合は、import ステートメントまたは using 名前名は必要ありません。クラスを別のクラスに含める最も簡単な方法は、TecClass クラスのインスタンスを作成し、MainClass クラスからそのメンバー関数を呼び出すことです。

using System;

public class TecClass {
  public static void CallMethod() {
    Console.WriteLine("Hello World");
  }
}

class MainClass {
  public static void Main(string[] args) {
    TecClass.CallMethod();
  }
}

出力:

Hello World

クラスを別のクラスに含める最も最適化された方法は、クラス用に別の .cs ファイルを作成し、using <namespace>; で呼び出すことです。using static [namespace].[class]; を使用しますクラスの静的メンバーをメインクラスに含めます。

Syed Hassan Sabeeh Kazmi avatar Syed Hassan Sabeeh Kazmi avatar

Hassan is a Software Engineer with a well-developed set of programming skills. He uses his knowledge and writing capabilities to produce interesting-to-read technical articles.

GitHub

関連記事 - Csharp Class