5

我有一个属性。让我们称之为SomeAttribute。理想情况下,它的定义如下:

public class SomeAttribute : Attribute
{
    public MyType[] MyObjects { get; set; }
    public SomeAttribute(params MyType[] parameters)
    {
        MyObject = parameters
    }
}

但是,由于属性的限制,它是这样定义的:

public class SomeAttribute : Attribute
{
    public MyType[] MyObjects { get; set; }
    public SomeAttribute(params string[] parameters)
    {
        MyObject = parameters.DoConvert(); //basically convert them to a MyType[]
    }
}

但是,如果字符串无效,我想我应该抛出一个异常。但我认为“属性是特殊的,我认为异常肯定有一些不同......”。然后我发现了这个: http: //lostechies.com/jimmybogard/2008/11/23/beware-exceptions-in-attribute-constructors/。基本上,它说“在属性构造函数中抛出异常不是一个好主意”。

那么我应该在这里做什么?我应该抛出异常吗?如果属性无效,我应该添加一个返回 true 的布尔值吗?

4

0 回答 0