RE:Implementación de Interfaces
Hola, Miguel,
¿Cómo te diría yo...?
Ejemplos concretos tienes en la propia framework a patadas. Uno que recuerdo es IListSource.
El DataGridView tiene una propiedad DataSource que acepta componentes que implementen dicha interfaz, como por ejemplo el DataSet.
Imagínate que quieres tener una clase para el acceso a datos donde tengas una serie de métodos que vas a usar en todos tus objetos de datos. Y a la vez quieres usar DataSets tipados por la comodidad en tiempo de diseño que conllevan. Pero en .Net no hay herencia múltiple y no puedes heredar del DataSet tipado que quieres usar y al mismo tiempo de tu clase para datos.
Podrías heredar de tu clase de datos e implementar IListSource redirigiendo la propiedad y el método que implica a esas propiedades de un DataSet.
Algo así:
#region Miembros de IListSource
bool System.ComponentModel.IListSource.ContainsListCollection
{
get { return MiDataSetTipado.ContainsListCollection); }
}
System.Collections.IList System.ComponentModel.IListSource.GetList()
{
return MiDataSetTipado.GetList();
}
#endregion
Si además quieres que tus objetos de datos se puedan "echar" al formulario haces que tu clase base para datos herede de Component.
Un saludo, Javier.