Czy jest możliwe, aby wprowadzić następujące skompilować bez:Obsada typu rodzajowego do interfejsu typu ograniczenie
- Making
IFooCollection
generic - Jawnie wykonawczych
IFooCollection.Items
naFooCollection
i wykonywania wyraźny odcień.
public interface IFoo
{
}
public interface IFooCollection
{
IEnumerable<IFoo> Items { get; }
}
public class FooCollection<T> : IFooCollection where T : IFoo
{
public IEnumerable<T> Items { get; set; }
}
Jestem dość zadowolony z drugiego rozwiązania (wdrożenie interfejsu jawnie), ale chciałbym zrozumieć, dlaczego muszę rzucać T
jak IFoo
kiedy mamy ogólne ograniczenia określające, że T
koniecznością implementuj IFoo
.