I began studying C# 5.0 a few days ago and am trying to avoid duplicated code for validation of input values.
class transcript
{
//Use lamda expression and Func for validation logic
Func<byte, byte> validate = (grade) =>
{
if (grade > 100)
throw new ArgumentOutOfRangeException("grade can`t be more than 100");
else
return grade;
};
public string name { get; set; }
public byte kor
{
get { return kor; }
set { kor = validate(value); }
}
public byte eng
{
get { return this.eng; }
set { eng = validate(value); }
}
}
private byte Validate(byte grade) { ... }
\$\endgroup\$ – RubberDuck May 2 '16 at 12:39