参数超出范围异常。使用 getter、setter - C#
ArgumentOutOfRangeException. Use getter,setter - C#
我需要创建一个 class Person
,其中包含字段:
name
、surname
和 salary
。
如果 salary
小于 0,我得到异常:
ArgumentOutOfRangeException. Use 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;
}
}
}
}
主要内容:
Employee tmp = new Employee("michal", "jakowski", -1400);
在您的代码中,当您选中 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;
}
}
}
我需要创建一个 class Person
,其中包含字段:
name
、surname
和 salary
。
如果 salary
小于 0,我得到异常:
ArgumentOutOfRangeException. Use 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;
}
}
}
}
主要内容:
Employee tmp = new Employee("michal", "jakowski", -1400);
在您的代码中,当您选中 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;
}
}
}