こんにちは、PaymentGroup というクラスがあり、PaymentGroup には Payments のリストがあります。各支払いにはコードがあります。
ルールは、グループ内のすべての支払いが同じコードを持つ必要があるということです。
どうにかして 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;
}
}
これはもっときれいに書くことができると思いますが、代替案は思いつきませんでした。
何か案は?