Sto facendo un controllo personalizzato simile a un ItemsControl
così ha un Items
proprietà voglio essere associabile, ma in ordine per il mio controllo per l'aggiornamento, la proprietà deve implementare INotifyCollectionChanged
. Vorrei che l'utente sia in grado di associare qualsiasi oggetto così a lungo come si implementa sia INotifyCollectionChanged
e IList
.
Mentre la soluzione più semplice è creare una nuova interfaccia elenco piace così
public interface INotifyCollectionChangedAndList : INotifyCollectionChanged, IList { }
e richiedono di essere ereditato il loro uso, gli oggetti da collezione.
Tuttavia, invece di fare questo, essi dovrebbero anche essere in grado di utilizzare lo standard ObservableCollection<T>
e che non ereditano entrambi INotifyCollectionChanged
e IList
ma non ereditano INotifyCollectionChangedAndList
e non credo di avere il controllo su questo. Allo stesso modo, se si utilizza una libreria diversa con un tipo che non possono controllare che non implementano le due interfacce dovrebbe ancora funzionare.
Quindi la mia domanda è se c'è un modo, semplice o altrimenti (cioè la riflessione) dove posso specificare alcun tipo deve implementare tutti i requisiti di due (o più) interfacce senza l'esplicito SomeClass : INotifyCollectionChangedAndList
?
MODIFICA
Credo che la risposta sia no. Così vado a mark @benjamin risposta corretta, perché anche se potrebbe non essere la migliore per il controllo degli autori, in altri casi la cosa più vicina a quello che avrei altrimenti come raggiungere.