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.cs
と Form1.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];
を使用しますクラスの静的メンバーをメインクラスに含めます。
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