Sono calpestato da solo con quello che pensavo fosse un codice molto semplice. Il codice parla meglio delle parole, quindi eccolo qui.Interfaccia C# e combinazione generica. Desidera restituire <T> anziché l'interfaccia di base
public interface IResponse
{
IResult Result { get; set; }
}
public class Response<T> : IResponse
where T : IResult
{
public T Result { get; set; }
// COMPILER ERROR: Property 'Result' cannot be implemented property from interface 'IResponse'. Type should be 'IResult'.
}
Il compilatore non mi permette di fare questo perché IResponse richiede Risultato di essere iResult, però io voglio approfittare dei generici nella classe che implementa e fortemente digitare il risultato di T. Questo è non solo possibile, o mi sono perso qualcosa di banale?
problema con l'interfaccia rendendo anche generica è che lo uso in un'altra classe dove io non voglio che costringermi a specificare T. – Arkiliknam
Sì ho pensato. Ecco perché ho appena aggiunto la seconda e la terza opzione. –
Ho appena visto il tuo aggiornamento. Sembra buono e ciò che è stato sepolto nella mia testa da qualche parte. Grandi cose! :) – Arkiliknam