Tenir compte des classes suivantes:Passing et Liste de traitement <> types contenant des objets du même type de base
class TypeA;
class TypeB : TypeA;
class TypeC : TypeA;
class TypeD : TypeA;
et la liste suivante <> Types:
List<TypeB> listTypeB;
List<TypeC> listTypeC;
List<TypeD> listTypeD;
maintenant TypeA a une propriété Prop1 de type Object1 et je veux localiser quelle liste a stocké en son sein un élément avec Prop1 d'une valeur donnée. Existe-t-il un moyen de faire quelque chose comme ce qui suit, de sorte que j'ai seulement besoin d'écrire le code de recherche une fois?
bool LocateInAnyList(Object1 findObj)
{
bool found = false;
found = ContainsProp1(findObj, listTypeB);
if(!found)
{
found = ContainsProp1(findObj, listTypeC);
}
if(!found)
{
found = ContainsProp1(findObj, listTypeD);
}
return found;
}
bool ContainsProp1(Object1 searchFor, List<TypeA> listToSearch)
{
bool found = false;
for(int i = 0; (i < listToSearch.Count) & !found; i++)
{
found = listToSearch[i].Prop1 == searchFor;
}
return found;
}
Merci qui fonctionne bien. – ChrisBD