Sto cercando di "estendere" un'interfaccia fornendo accessors alle proprietà in quell'interfaccia. L'interfaccia simile a questa:Aggiungi 'set' alle proprietà dell'interfaccia in C#
interface IUser
{
string UserName
{
get;
}
}
voglio qualcosa di simile:
interface IMutableUser : IUser
{
string UserName
{
get;
set;
}
}
Ho bisogno della ereditarietà. Non riesco a copiare il corpo di IUser
in IMutableUser
e aggiungere i set di accessori.
È possibile in C#? Se è così, come può essere realizzato?
Aggiunta di nuovi funzionanti alla grande! Grazie! Puoi aggiornare la tua risposta con un esempio (per gli altri)? – strager
Dal punto di vista pratico: le interfacce si evolvono molto male nel tempo. Tutti gli implementatori dell'interfaccia si romperanno ad ogni modifica di questo contratto .... –
@PatrickPeters - Presumo che il commento sia stato diretto al metodo SetUserName? Non vedo problemi con la prima opzione. Alcune delle possibili interruzioni vengono eliminate se l'implementatore segue un'implementazione esplicita dove appropriato. – Maslow