Regardons les choses en assum que nous avons cette fonction:spécifique IEnumerable <T> à IEnumerable spécifique <string>
List<string> ToCollectionString<T>(List<T> collectinon);
et maintenant comment pouvons-nous changer List
retourner spécifique IEnumerable
le même argument donné? Nous obtenons donc retourner List
List
, nous obtenons Stack
donc retourner Stack
etc.
Si nous avions:
List<T> ToCollectionString<T>(List<T>);
il serait
K ToCollectionString<K,T>(K collection) where K:IEnumerable<T>
Mais que pouvons-nous faire si nous avions cette List<string>
?
« que pouvons-nous faire si nous avions cette' 'Liste? » pouvez-vous clarifier cette question dans votre posy? Je ne sais pas ce que vous voulez dire par là: –
Donc vous essayez de supporter d'autres types 'IEnumerable' au-delà juste 'List'? – ryanyuyu
Je pense que vous dites que vous voulez déclarer une méthode qui renvoie 'K' lorsqu'il est passé 'K ' - malheureusement, cela ne peut pas être fait avec les génériques C#. –
Blorgbeard