外部ファイル
CoddyのC#ジャーニー「オブジェクト指向プログラミング」セクションの一部 — レッスン 1/70。
外部ファイルを使用すると、クラスを別のC#ファイルに整理し、名前空間(namespaces)を使用してメインプログラム内でそれらを参照することができます。
MyClass.cs という名前の別の C# ファイルを作成します。
namespace MyApp
{
public class MyClass
{
public string Name { get; set; }
public MyClass(string name)
{
Name = name;
}
public string Greet()
{
return $"Hello, I'm {Name}";
}
}
}メインファイルで名前空間を参照します
using MyApp;インスタンスを作成して使用します
MyClass obj = new MyClass("Alice");
Console.WriteLine(obj.Greet());出力:
Hello, I'm Aliceusing MyApp; ステートメントを使用すると、MyApp 名前空間のクラスを完全修飾名を使わずに使用できるようになります。名前空間は関連するクラスをグループ化するもので、他のファイルからアクセスできるようにするには、クラスを public に設定する必要があります。
チャレンジ
中級C#ファイル(MyClass.csとProgram.cs)が与えられています。Program.csファイルにusingステートメントを追加して、ファイルを接続し、外部ファイルのクラスを使用できるようにしてください!
チートシート
外部ファイルを使用すると、クラスを個別のC#ファイルに整理し、名前空間を使用してそれらを参照できます。
名前空間を持つ個別のC#ファイルを作成します:
namespace MyApp
{
public class MyClass
{
public string Name { get; set; }
public MyClass(string name)
{
Name = name;
}
public string Greet()
{
return $"Hello, I'm {Name}";
}
}
}using ステートメントを使用して、メインファイルで名前空間を参照します:
using MyApp;インスタンスを作成して使用します:
MyClass obj = new MyClass("Alice");
Console.WriteLine(obj.Greet());
// Output: Hello, I'm Alice他のファイルからアクセスできるようにするには、クラスを public にする必要があります。using ステートメントを使用すると、完全修飾名を使用せずに名前空間のクラスを使用できます。
自分で試してみよう
// TODO: MyClassを使用するために、? を正しい名前空間に置き換えてください
using ?;
using System;
class Program
{
static void Main()
{
string testCase = Console.ReadLine();
// MyClassのインスタンスを作成し、GetMessage()を呼び出します
MyClass obj = new MyClass();
Console.WriteLine(obj.GetMessage());
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。