인터페이스를 구현하는 여러 클래스가 있습니다. 값에 따라 이러한 클래스 목록을 필터링하는 확장 메서드를 만들려고합니다. 여기에 가상의 예입니다 :인터페이스를 기반으로하는 구체적인 유형의 목록을 필터링하는 확장 방법은 무엇입니까?
public enum Transmission
{
Standard = 1,
Automatic = 2
}
public interface ICar
{
Transmission Tranny { get; set; }
}
public class Car : ICar
{
public Transmission Tranny { get; set; }
public string Make { get;set;}
}
public static class CarExtensions
{
public static List<ICar> OnlyAuto(this List<ICar> cars)
{
return cars.Where(x => x.Tranny == Transmission.Automatic).ToList();
}
}
내가 차의 목록을 필터링 할 수있는 확장 메서드를 만들려는 ...하지만 확장 메서드하지 않는이 하나
var x = new List<Car>();
x.OnlyAuto <-- compile error...
에 대한 걷어차하지 않습니다 인텔리 센스?