您的位置:首页 > 其它

属性中限定输入值并抛出异常

2016-05-24 10:04 176 查看
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ch10Ex01
{
public class MyClass
{
public readonly string Name;
private int intVal;

public int Val
{
get
{
return intVal;
}
set
{
if (value >= 0 && value <= 10)
intVal = value;
else
throw (new ArgumentOutOfRangeException("Val", value,
"Val must be assigned a value between 0 and 10."));
}
}
public override string ToString()
{
return "Name: " + Name + "\nVal: " + Val;
}

private MyClass() : this("Default Name")
{
}

public MyClass(string newName)
{
Name = newName;
intVal = 0;
}
}
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ch10Ex01
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Creating object myObj…...");
MyClass myObj = new MyClass("My Object");
Console.WriteLine("myObj created.");
for (int i = -1; i <= 0; i++)
{
try
{
Console.WriteLine("\nAttempting to assign {0} to myObj.Val…...",
i);
myObj.Val = i;
Console.WriteLine("Value {0} assigned to myObj.Val.", myObj.Val);
}
catch (Exception e)
{
Console.WriteLine("Exception {0} thrown.", e.GetType().FullName);
Console.WriteLine("Message:\n\"{0}\"", e.Message);
}
}
Console.WriteLine("\nOutputting myObj.ToString()…...");
Console.WriteLine(myObj.ToString());
Console.WriteLine("myObj.ToString() Output.");
Console.ReadKey();
}
}
}


View Code

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: