嗨说我有一个类 PaymentGroup,一个 PaymentGroup 有一个付款列表。每笔付款都有一个代码。
规则是组内的所有付款必须具有相同的代码。
我想以某种方式获取 PaymentGroup 的代码,但如果 PaymentGroup 中的 Payments 并非都具有相同的代码,则会引发异常。
我到目前为止的代码是 PaymentGroup 中的一个属性:
public Code
{
get
{
var codesTheSame = Payments.Select(x => x.Code)
.Distinct()
.Count() == 1;
if(!codesTheSame)
throw Exception();
return Payments.First().Code;
}
}
我认为这可以写得更干净,但我没有想出任何替代方案。
有任何想法吗?