별도의 표를 채울 데이터가 포함 된 2 개의 클래스가 있습니다. 그리드는 매우 비슷하지만 클래스가 2 개인 클래스를 사용해야합니다. 두 그리드에는 "GetDuplicates"라는 함수가 있으며이 클래스를 구현할 때 클래스에 중복이 있는지 확인하고이를 나타내는 메시지를 반환하는 메서드가 있습니다.일반 메서드 제약?
private bool HasDuplicates(FirstGridList firstList)
{
var duplicates = firstList.FindDuplicates();
if (duplicates.Count > 0)
{
// Do Something
return true;
}
return false;
}
나는 FirstGridList과 SecondGridList 모두를 사용하여 해당 메소드를 호출 할 수 있도록하고 싶습니다. 필자는 제네릭 제약 조건을 올바르게 구현 한 다음 제네릭 입력 매개 변수를 올바른 형식으로 캐스팅하는 방법을 알지 못합니다. 유사 항목 :
private bool HasDuplicates<T>(T gridList)
{
// Somehow cast the gridList to the specific type
// either FirstGridList or SecondGridList
// Both FirstGridList and SecondGridList have a method FindDuplicates
// that both return a List<string>
var duplicates = gridList.FindDuplicates();
if (duplicates.Count > 0)
{
// Do Something
return true;
}
return false;
}
위와 같은 방법으로 동일한 작업을 수행 할 수 있습니다. 그러므로 저는 이것을 두 번 만들고 싶지 않습니다. 나는 이것이 가능하다고 생각하지만 잘못 생각하고있다. 제네릭에 대해서는 아직 정확하게 경험하지 못했습니다. 고맙습니다.
'FirstGridList'와'SecondGridList'는 같은 기본 클래스를 공유합니까? –