我需要创建一个包含字段的类Person
:
name
,surname
和salary
。
如果salary
低于0,我会得到例外:
ArgumentOutOfRangeException。使用getter,setter
我尝试过:
public class Employee
{
public string name { get; set; }
string surname { get; set; }
private int salary;
public int Salary
{
get
{
return salary;
}
set
{
if (salary < 0)
{
throw new ArgumentOutOfRangeException("salary", "wyplata ma byc wieksza niz 0");
}
else
{
salary = value;
}
}
}
}
在main中:
Employee tmp = new Employee("michal", "jakowski", -1400);
答案 0 :(得分:5)
在您的代码中,当您选中if (salary < 0)
时,字段salary
尚未使用value
进行更新。因此,您需要检查value
是否小于0
。
public int Salary
{
get
{
return salary;
}
set
{
if (value < 0)
{
throw new ArgumentOutOfRangeException("salary", "wyplata ma byc wieksza niz 0");
}
else
{
salary = value;
}
}
}