Estoy haciendo un control personalizado similar a la de una ItemsControl
por lo que tiene una Items
propiedad quiero ser enlazable, pero en fin para mi el control de actualizar, la propiedad debe implementar INotifyCollectionChanged
. Me gustaría que el usuario sea capaz de enlazar cualquier objeto en tanto se implementa tanto INotifyCollectionChanged
y IList
.
Mientras que la solución más simple es crear una nueva lista de interfaz como así
public interface INotifyCollectionChangedAndList : INotifyCollectionChanged, IList { }
y requiere que se heredan en su costumbre objetos de colección.
Sin embargo, en lugar de hacer esto, ellos también deben ser capaces de utilizar el estándar ObservableCollection<T>
así que ¿la heredan tanto INotifyCollectionChanged
y IList
pero no se heredan INotifyCollectionChangedAndList
y realmente no tengo control sobre eso. Asimismo, si el uso de una biblioteca diferente, con un tipo que no pueden controlar que no implementar las dos interfaces que todavía debe trabajar.
Así que mi pregunta es si hay una manera, fácil o de otro tipo (por ejemplo, la reflexión) donde puedo especificar cualquier tipo utilizado debe implementar todos los requisitos de dos (o más) de las interfaces sin el explícito SomeClass : INotifyCollectionChangedAndList
?
EDITAR
Creo que la respuesta es no. Así que me voy a mark @benjamin respuesta como correcta porque a pesar de que podría no ser el mejor para el control de los autores, en otros casos la cosa más cercana a lo que sería de otra manera gustaría lograr.