,如果我有这样的代码:在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