我有一個服務調用返回給我一個IEnumerable的CustomObject,這是一個我沒有修改權限的第三方調用。可以假定CustomObject具有如下的定義:執行此業務規則的最佳地點?
public class CustomObject
{
public int Id { get; set; }
public string Name { get; set; }
...
...
...
public int Points { get; set; }
public bool IsPrivate { get; set; }
}
在返回的對象列表中,我可以有特殊的CustomObject對象。我需要實現一些特殊的規則,如:
- 如果與IDS 1和3這兩個元素在列表中存在,只有使基於規則 一個其中之一。如果其中任何一個IsPrivate被標記爲true,則顯示IsPrivate設置爲false的那個 b。如果IsPrivate都沒有設置爲true,則顯示高點 ...等等
什麼是實現這些規則的最佳位置。我想過如何實現IEqualityComparer並在我的服務調用中執行.Distinct(),看起來不像IEqualityComparer要做什麼。
對此提出建議?
您是否必須使用反射來確定有多少'Id對象具有或存在什麼被遺漏了? – NtscCobalt 2012-08-08 14:56:42
我不明白這個問題。它是一個IEnumerable,每個對象可以有一個Id。你能否澄清你的q? –
2012-08-08 15:13:28
對不起,我很抱歉,我認爲你的意思是說,在你編輯之前,CustomObject可能具有諸如Id1,Id2之類的屬性。 – NtscCobalt 2012-08-08 15:38:13