我有两个这样的课程
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(将生成无效结果),我应该抛出什么样的异常?的ArgumentException?
编辑:所以我会尝试用文字解释它:我有一个类型为ClassB的参数的方法,ClassB有一个ClassA列表,每个ClassA都有一个字符串属性。我正在使用这些属性构建一个查询,所以我相信它会更好地停在这里,而不是在使用查询时。
答案 0 :(得分:1)
在我看过/ used / write的代码中,当参数的泛型错误(属性为null等)时抛出ArgumentException
。如果参数本身为null,则抛出ArgumentNullException
。
但是,如果我没有编写某种类型的库/框架,我通常不会这样做。通常我让框架做它的工作。