Questa funzione è denominata "covarianza del tipo di ritorno". C# non lo supporta per i seguenti motivi:
1) Il CLR non lo supporta. Per farlo funzionare in C#, dovremmo solo sputare un sacco di piccoli metodi di supporto che convertono il tipo restituito alla cosa giusta. Non c'è nulla che ti impedisca di farlo tu stesso.
2) Anders ritiene che la covarianza del tipo di ritorno non sia una buona caratteristica del linguaggio.
3) \ Abbiamo molte priorità più alte per la lingua. Abbiamo solo budget limitati e quindi cerchiamo di fare solo le migliori funzionalità che possiamo in ogni data release. Certo, sarebbe bello, ma è abbastanza facile da fare da solo se lo si desidera. È meglio passare il tempo aggiungendo funzionalità che migliorano l'esperienza degli sviluppatori o aggiungono maggiore potenza di rappresentazione alla lingua.
fonte
2009-08-24 06:13:39
abbastanza giusto :), grazie per la risposta. –
Sai se sono disponibili ulteriori informazioni su # 2? Mi piace leggere su problemi linguistici come quello. :) –
La risposta di Brian Gideon a questa domanda fornisce un esempio di come fare # 1. –