그냥 syntactic sygar에 대한 간단한 확장을 만들고 싶어 : 나는 몇 가지 컬렉션을 작업 할 때은 ICollection/ICollection에 <T>이 모호한 문제
public static bool IsNotEmpty(this ICollection obj)
{
return ((obj != null)
&& (obj.Count > 0));
}
public static bool IsNotEmpty<T>(this ICollection<T> obj)
{
return ((obj != null)
&& (obj.Count > 0));
}
그것은 완벽하게 작동하지만, 다른 사람과 작업 할 때 나는
이 문제에 대한 정규 솔루션이 있습니까?호출을받을 다음 메서드 또는 속성 사이에 모호합니다. 'PowerOn.ExtensionsBasic.IsNotEmpty (System.Collections.IList)' 및 'PowerOn.ExtensionsBasic.Is 는 NotEmpty (System.Collections.Generic.ICollection) '
가 아니,이 메소드를 호출하기 전에 캐스트를 수행하지 않으려는 )
일부 컬렉션은 두 인터페이스를 구현 때문입니다
이 문제가있는 컬렉션을 인용 할 수 있습니까? 답변을 확인할 수 있습니까? –
그 선언이 확실합니까? 오류 메시지는 ICollection보다는 IList임을 제안하는 것 같습니다. –
IEnumerable, ICollection 및 IList의 제네릭 버전과 비 제네릭 버전의 확장 메서드를 사용하여이 문제를 해결했습니다. –