J'essaie de comprendre le «pourquoi» de cela ... et j'ai vraiment du mal à saisir le concept de ce que je demande au compilateur de faire quand j'utilise une syntaxe IInterface. Quelqu'un peut-il expliquer dans un "c'est ce qui se passe" manière?Avoir des problèmes dans les interfaces C#
... Quoi qu'il en soit ma principale question est ....
Quelle est la différence entre
public IEnumerable<string> MyMethod() {...}
et
public string MyMethod() : IEnumerable {...}
Pourquoi voudriez-vous utiliser un sur l'autre?
Votre second exemple n'est pas un code valide. (Je suppose que vous voulez dire C# - cela vaudrait la peine de poser la question.) Si vous pouvez rendre les deux exemples valides, nous vous dirons les différences restantes. –