Что значит такое ограничение в заголовке класса? class Game : IGame where TFamilyType : IFamily, new() { //body } Мне на ум приходит только: Реализовывать интерфейс IGame лишь в том случае, если TFamilyType реализует IFamily О_о
Да, вы правильно поняли. Ограничение в заголовке класса указывает, что класс Game должен реализовывать интерфейс IGame только в том случае, если тип TFamilyType также реализует интерфейс IFamily и имеет публичный конструктор по умолчанию (new()). Таким образом, это ограничение гарантирует, что класс Game будет работать только с определенным типом TFamilyType, который удовлетворяет указанным условиям.
Да, вы правильно поняли. Ограничение в заголовке класса указывает, что класс Game должен реализовывать интерфейс IGame только в том случае, если тип TFamilyType также реализует интерфейс IFamily и имеет публичный конструктор по умолчанию (new()). Таким образом, это ограничение гарантирует, что класс Game будет работать только с определенным типом TFamilyType, который удовлетворяет указанным условиям.