public Planet(string planetName,string planetLocation,string distance)
{
//Is this okay to do in C#?
Name = planetName;
this.planetLocation = planetLocation;
this.galaxy = galaxy;
// etc.
}
public String Name
{
get
{
return planetName;
}
set
{
if (value == null)
{
throw new ArgumentNullException("Name cannot be Null");
}
this.planetName = value;
}
}
私が言いたいことを示すために、この簡単な例を作成しました。
C# コンストラクターが独自の Getter/Setter プロパティを呼び出しても問題ありませんか? Name が null の場合、ArgumentNullException がスローされます。
コンストラクターからセッター プロパティを呼び出すことが推奨されない場合、コンストラクターで例外を実装して、名前フィールドが空白にならないようにするにはどうすればよいでしょうか? つまり、Planet myPlanet = new Planet(null,"9999999","Milky Way"); と言うと、この方法でオブジェクトを作成した場合、例外が確実にスローされるようにするにはどうすればよいですか?