This is perfectly valid:
public interface IWidgetGetter
{
IEnumerable<T> GetWidgets<T>() where T : IWidget;
}
That is, it defines an untyped interface that includes a method to get a IEnumerable
of some type that implements IWidget
.
How do I make this into a property?
Things that don't work:
IEnumerable<T> Widgets<T> { get; set; } where T : IWidget
IEnumerable<T> Widgets { get; set; } where T : IWidget
IEnumerable<T> Widgets where T : IWidget { get; set; }
IEnumerable<T> Widgets<T> where T : IWidget { get; set; }