我有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'是否共享相同的基類? –