使用属性在.NET中引发异常

Kir*_*oev 0 .net c# silverlight

是否可以使用某种属性来抛出异常.这就是我的意思.而不是这样做:

public int Age
{
    get
    {
        return this.age;
    }

    set
    {
        this.age = value;
        NotifyPropertyChanged("Age");

        if (value < 18)
        {
            throw new Exception("age < 18");
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

做这样的事情:

[Range(18,100, ErrorMessage="Must be older than 18")]
public int Age
{
    get
    {
        return this.age;
    }

    set
    {
        this.age = value;
        NotifyPropertyChanged("Age");
    }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

最诚挚的问候,基里尔

Nol*_*rin 5

你正在寻找一个AOP(面向方面​​编程)库,它可以很容易地做到这一点.我建议尝试一下PostSharp.主页上的示例应该说明如何在属性/方法上使用它.