Angenommen, ich habe eine Methode
public List<User> GetBatchOfUsers(IEnumerable<int> userIDs)
{
List<User> users = new List<User>();
// some database stuff
return users;
}
Ich habe gelesen, dass es besser wäre, eine Schnittstelle (entweder IList
oder IEnumerable
) zurückzugeben, als eine zurückzugeben List
. Einige Argumente, die ich dafür gehört habe, sind, dass es Daten verbirgt und dem API-Entwickler die Flexibilität gibt, die interne Darstellung der Daten zu einem späteren Zeitpunkt zu ändern.
Ich mache mir Sorgen, IEnumerable
dass Sie nur Funktionen zurückgeben, z. B. den wahlfreien Zugriff und die Count
Eigenschaft.
Ich weiß, dass das Akzeptieren eines IEnumerable
als Parameter sinnvoll ist, da es dem Verbraucher die beste Flexibilität bietet, Daten an meine Methode zu senden, die minimalistischen Anforderungen für die Funktionsweise der Methode.
Was ist die beste Vorgehensweise für den Rückgabetyp?