Обладает ли следующий интерфейс допустимым контрактом:
public interface IContainer<T>
{
IEnumerable<T> Items { get; }
int Count { get; }
}
Ну понятно, Count я могу определить через Items, а вот Items как бы я определить не могу. Значит контракт не допустим?

Где вообще,уважаемые, можно про такие вещи почитать?
Спасибо.