0

我有两个这样的课程

class ClassA
{
    // Some properties
    public String PropertyA { get; set; }
}

class ClassB
{
    public List<ClassA> PropertyB { get; private set; }

    ClassB()
    {
        PropertyB = new List<ClassA>();
    }
}

然后在其他地方我有这样的方法

public String MyMethod(ClassB argument)
{
    //do stuff with all the PropertyA values
}

我希望从参数中 PropertyB 中的任何元素都没有 null 或空 PropertyA (将生成无效结果),我应该抛出什么样的异常?参数异常?

编辑:所以我会尝试用文字来解释它:我有一个方法,它有一个 ClassB 类型的参数,ClassB 有一个 ClassA 列表,每个 ClassA 都有一个字符串属性。我正在使用这个属性建立一个查询,所以我相信最好在使用查询时停止在这里。

4

1 回答 1

1

在我见过/使用/编写的代码中,ArgumentException当参数出现通用错误(属性为空等)时会抛出。如果参数本身为空,您将抛出一个ArgumentNullException.

但是,如果我不编写某种库/框架,我通常不会这样做。通常我让框架完成它的工作。

于 2013-01-14T21:40:11.457 回答