Bonjour new_wave,
IEnumerable<HistoSO> est une interface générique. On pourrait la décrire par la phrase "C'est une IEnumerable de HistoSO". Je ne pense pas que la question que tu formules soit envers IEnumerable lui-même, cela dit. Je te propose de découper un peu ton code pour mieux comprendre.
La méthode
_serviceOperation.GetHistoSO(operation.Numero)
renvoie un objet IEnumerable<HistoSO>, c'est-à-dire une collection de plusieurs HistoSO.
La méthode
public static IEnumerable<InformationProduitDCG> ToInformationProduitDCG(this IEnumerable<HistoSO> listHistoSource)
prend en paramètre un objet IEnumerable<HistoSO>. C'est une méthode d'extension, d'ailleurs, ça permet notamment d'aller un peu plus rapidement dans le développement.
Le code suivant fait exactement la même chose que ce que tu as rédigé dans ton message:
1 2 3 4
| IEnumerable<HistoSO> collectionHistoSo = _serviceOperation.GetHistoSO(operation.Numero);
IEnumerable<InformationProduitDCG> collectionInfoProdDCG = collectionHistoSo.ToInformationProduitDCG();
public static IEnumerable<InformationProduitDCG> ToInformationProduitDCG(this IEnumerable<HistoSO> listHistoSource) |
Et si l'utilisation de méthodes d'extensions te perturbe un peu, sache ue le code suivant est toujours équivalent (note bien l'absence du mot-clé this ainsi que la manière d'utiliser la méthode):
1 2 3 4
| IEnumerable<HistoSO> collectionHistoSo = _serviceOperation.GetHistoSO(operation.Numero);
IEnumerable<InformationProduitDCG> collectionInfoProdDCG = ToInformationProduitDCG(collectionHistoSo);
public static IEnumerable<InformationProduitDCG> ToInformationProduitDCG(IEnumerable<HistoSO> listHistoSource) |
Est-ce plus clair pour toi ? Sinon, peux-tu développer un peu plus ta question ?
Partager