当我使用它时,我的 IF 属性 在我的 class 中被忽略了
My IF property is being ignored in my class when i use it
public class Irritante : Child
{
/*Fields*/
private int ir_numeroBirras;
private double ir_mediaBirras;
/*Properties*/
public int NumeroBirras
{
get { return ir_numeroBirras; }
set { if (value > 0) ir_numeroBirras = value; }
}
public double MediaBirras
{
get { return ir_mediaBirras; }
set { ir_mediaBirras = value; }
}
//Constructor
public Irritante(string nome, int idade, int numBirras, double mediaDasBirras) : base(nome, idade)
{
NumeroBirras = numBirras;
ir_mediaBirras = mediaDasBirras;
}
当我尝试将构造器 Irritante 与 属性 NumeroBirras 一起使用时,它忽略了 如果(值>0)
这意味着我仍然可以使用客户端代码向该字段添加 0,但我不应该这样做,有什么提示吗?我到处都找不到
ir_numeroBirras
的默认值为0
。您不能使用 属性 放置 0
。但是,如果您使用 0
作为参数值进行测试,您就会被默认值所愚弄。
如果你说你不应该在 Irritante ctor 的参数中放一个 0,那是完全不同的
public Irritante(string name, int idade, int numBirras, double mediaDasBirras) : base(nome, idade)
{
if(numBirras < 1) throw new ArgumentOutOfRangeException(nameof(numBirras), "Hey, you can't drink 0 beers");
ir_numeroBirras = numBirras;
ir_mediaBirras = mediaDasBirras;
}
public class Irritante : Child
{
/*Fields*/
private int ir_numeroBirras;
private double ir_mediaBirras;
/*Properties*/
public int NumeroBirras
{
get { return ir_numeroBirras; }
set { if (value > 0) ir_numeroBirras = value; }
}
public double MediaBirras
{
get { return ir_mediaBirras; }
set { ir_mediaBirras = value; }
}
//Constructor
public Irritante(string nome, int idade, int numBirras, double mediaDasBirras) : base(nome, idade)
{
NumeroBirras = numBirras;
ir_mediaBirras = mediaDasBirras;
}
当我尝试将构造器 Irritante 与 属性 NumeroBirras 一起使用时,它忽略了 如果(值>0) 这意味着我仍然可以使用客户端代码向该字段添加 0,但我不应该这样做,有什么提示吗?我到处都找不到
ir_numeroBirras
的默认值为0
。您不能使用 属性 放置 0
。但是,如果您使用 0
作为参数值进行测试,您就会被默认值所愚弄。
如果你说你不应该在 Irritante ctor 的参数中放一个 0,那是完全不同的
public Irritante(string name, int idade, int numBirras, double mediaDasBirras) : base(nome, idade)
{
if(numBirras < 1) throw new ArgumentOutOfRangeException(nameof(numBirras), "Hey, you can't drink 0 beers");
ir_numeroBirras = numBirras;
ir_mediaBirras = mediaDasBirras;
}