¿Es posible hacer la siguiente compilación sin:Reparto de tipo genérico para interactuar tipo de restricción
- Haciendo
IFooCollection
genérica - explícitamente la implementación de
IFooCollection.Items
enFooCollection
y realizar una conversión explícita.
public interface IFoo
{
}
public interface IFooCollection
{
IEnumerable<IFoo> Items { get; }
}
public class FooCollection<T> : IFooCollection where T : IFoo
{
public IEnumerable<T> Items { get; set; }
}
estoy bastante feliz con la segunda solución (que implementa la interfaz explícitamente) pero me gustaría entender por qué necesito para emitir T
como IFoo
cuando tenemos una limitación genérica que especifica que T
obligada implementar IFoo
.