我有两个非常相似的方法。唯一的区别是在BindingList
中使用的类型,但我无法弄清楚如何为这两种类型创建通用方法。我想我必须使用泛型类型才能使其工作,但我无法弄清楚。这两种类型都有一个Title
属性。如何将两个非常相似的列表类型重构为一个通用的方法?
private int GetObjectIndexFromTitle(string str, BindingList<MyClass1> list)
{
foreach (var item in list)
{
if (item.Title == str)
{
return list.IndexOf(item);
}
}
return -1;
}
这:
private int GetObjectIndexFromTitle(string str, BindingList<MyClass2> list)
{
foreach (var item in list)
{
if (item.Title == str)
{
return list.IndexOf(item);
}
}
return -1;
}
我已经通过了通用类型的文件看,但我无法得到它,因为非常特殊Title
财产的工作。我会喜欢这个帮助。
如果它们都具有'Title'属性,那么对于像'IHasTitle'这样的通用接口来说,这将是一个很好的例子。 –