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