私は非常に似ている2つの方法があります。唯一の違いは、BindingList
で使用されているタイプですが、両方のタイプのジェネリックメソッドを作成する方法を考えることはできません。私はそれを動作させるためにジェネリック型を使用しなければならないと思うが、私はそれを理解することはできない。両方のタイプにはTitle
というプロパティがあります。非常に似たリストタイプの2つのメソッドを汎用メソッドにリファクタリングするにはどうすればよいですか?
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'のような一般的なインタフェースにとっては良い例です。 –