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。
如果不建议从构造函数中调用setter属性,那么如何在构造函数中实现异常来保证name字段不为空呢?或者换句话说,如果我说 Planet myPlanet = new Planet(null,"9999999","Milky Way"); 如果以这种方式创建对象,如何确保引发异常?