,如果我有這樣的代碼:在C#中,你可以把一個Or放在「where」接口約束中嗎?
public interface IJobHelper
{
List<T> FilterwithinOrg<T>(IEnumerable<T> entities) where T : IFilterable;
}
有什麼支持做這樣的事情:
public interface IJobHelper
{
List<T> FilterwithinOrg<T>(IEnumerable<T> entities) where T : IFilterable or ISemiFilterable
}
所以它會接受任何支持的兩個接口之一。我基本上試圖創造一個超載。
何不做一個通用的過濾類,那麼繼承類更具體可過濾的類。然後,您可以將where子句用於泛型可過濾類並將其約束爲多個類。 – 2013-04-22 03:36:29
http://stackoverflow.com/questions/3679562/generic-methods-and-method-overloading – Turbot 2013-04-22 03:40:39