小さなコードを書きましたが、驚くべきものを見つけました。私はクラス名Studentsを持っており、その中でcalssは変数名Students(クラス名と同じ)でこのようにList<>を宣言しました
Class Students
{
private String Name;
private int Age;
public Students(){}
List<Students> Students = new List<Students>();
...
}
ここでコンパイル時エラーは
'Students': メンバー名はそれらを囲むタイプと同じにすることはできません
しかし、他のクラスで同じリストを宣言すると...のように
Class Students
{
private String Name;
private int Age;
public Students(){}
...
}
Class Program
{
....
List<Students> Students = new List<Students>();
Students.Add(new Students("Deb","B++"));
Students.Add(new Students("DDD", "A++"));
............
}
これはうまくいきます。私の質問は、なぜですか?同じクラスではなく、他のクラスのクラス名としてカスタム変数を作成するにはどうすればよいですか? 私はこれについて知識を得たいので、精巧な答えは良いでしょう。