L'interface est implémentée explicitement si j'ai bien compris... La classe Student a toutes les propriétés déclarées dans l'interface Person, donc un Student est accepté là où un Person est attendu.
Pourquoi un StringBuilder ? C'est du JS (enfin principalement), pas du C#...
Partager