public class MyVehicleCollection<T> where T : Vehicle
{
private List<T> listofVehicles = new List<T>();
public void AddVehicle(T v) { listofVehicles.Add(v); }
}
및
public class MyVehicleCollection<Vehicle>
{
private List<Vehicle> listofVehicles = new List<Vehicle>();
public void AddVehicle(Vehicle v) { listofVehicles.Add(v); }
}
의 차이점에 대한 불분명 해요
나는이 표시되지 않는 이유는 두 경우 모두에서 유일한 가능 Vehicle에서 파생 된 유형을 컬렉션에 추가합니다. 또한 Motobike를 포함하기위한 추가 컬렉션 클래스를 만들어야하는 이유를 알 수 없습니다. 비 제너릭 케이스의 차량.
미리 감사드립니다.
향후 필요하거나 예상되지 않을 수도있는 일부 확장 성을 교환하십시오. 물론 미래에는 자전거를 추가 할 수 있지만 그렇게 할 생각입니까? 미래에 따라 폐쇄 형 또는 개방형 아키텍처를 만들 수 있습니다. – CodingBarfield
당신이 'Vehicle'을 제네릭 형식 매개 변수와 클래스 이름으로 사용하고 있다는 사실 때문에 혼동을 일으키는 것 같습니다. –