using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace half_test {
class Car {
private int printInfo;
public int PrintInfoMethod {
get {
return printInfo;
}
set {
printInfo=value;
}
}
public void Car() {
Console.WriteLine("<" + printInfo);
}
}
class Engine {
static void Main(string[] args) {
Engine blf=new Engine("BLF", 1597);
Engine bny=new Engine("BVY", 1984);
Engine blg=new Engine("BLG", 1389);
Car[] cars=new Car[4];
cars[0]=new Car("GOLF E", blf);
cars[1]=new Car("GOLF E", blf);
cars[2]=new Car("GOLF E", blf);
cars[3]=new Car("GOLF E", blf);
foreach (Car car in cars) car.printInfo();
}
}
}
このエラーポイント。なぜですか?エラー? 'Car'メンバー名は、その囲みタイプと同じであってはなりません。
なぜエラーが発生しますか?
私は上記のコードをコンパイルするとき、私はこのエラーを取得:
Error: 'Car': member names cannot be the same as their enclosing type
なぜ?どうすれば解決できますか?
このスクリーンショットを表示します。言語のルールだけだ enter image description here
私は人生でC#の行を書いたことはありませんが、私は 'public void Car()'が 'public Car()'になるはずです。 – Biffen
@Biffen:コンストラクタを意図している場合のみ。現時点で何が意図されているかは明確ではありません。 –
@JonSkeet真実、私はちょうど名前に行っていた。 – Biffen