Чтение книги: NHibernate 3: Руководство для начинающих Я нашел фрагмент, который заставлял меня любопытно:
Время действия - Создание базового объекта
(...)
- Добавить новый класс в папку Домен проекта и вызвать его Entity. Сделайте класс абстрактным и обобщенным в T. Ваш код должен выглядеть так же, как в следующем фрагменте кода:
using System;
namespace OrderingSystem.Domain
{
public abstract class Entity<T> where T : Entity<T>
{ }
}
Мой вопрос: какова точка фрагмента where T : Entity<T>
?
Я понимаю, что раздел where
можно применить для добавления ограничений в тип T
, но приведенный выше код выглядит так, что никогда не будет возможно создать экземпляр такого класса (если бы он не был абстрактным в любом случае).