제네릭 사용 여부에 관한 간단한 질문이 있습니다. 그렇다면 올바른 방법입니까?제네릭 사용 여부
정상이 아닌 일반 버전은 다음과 같습니다 :
public interface IFood
{
string name { get; set; }
}
public class Vegetables : IFood
{
#region IFood Members
public string name
{
get { return "Cabbage"; }
set{ }
}
#endregion
}
public class Cow
{
private IFood _food;
public Cow(IFood food)
{
_food = food;
}
public string Eat()
{
return "I am eating " + _food.name;
}
}
일반 버전은 다음과 같습니다 :
public class Cow<T> where T : IFood
{
private T _food;
public Cow(T food)
{
_food = food
}
public string Eat()
{
return "I am eating " + _food.name;
}
}
내가 바로 일반 버전에 최선을 다하고 있습니까? 미래 성장을 위해 Generic 버전을 사용해야합니까? 이것은 원래 시나리오의 단순한 실물 모형이지만 완전히 닮았습니다.
암소 클래스는 암소와 완전히 별개입니다. ? 또는 주어진 소에게 곡물, 옥수수 또는 요즘 동물 사료용으로 사용되는 다른 보풀을 먹일 수 있습니까? 제네릭 버전의 소는 같은 것이 아니며 목록 은 목록 과 동일합니다. 반면에, 나에게는 암소가 암소입니다. –
@AnthonyPegram : 대답이 있어야합니다. – Dani
@AnthonyPegram Cow이 Cow 과 다른 이유 때문에 Generic 버전을 사용하지 않는 것이 좋습니다.적절한 예제와 응답 섹션에서 간략하게 설명 할 수 있습니까? 답장으로 표시하고 싶기 때문에 주석 섹션에 넣지 마십시오. –
DotNetInfo