Я не знаю мудрости дизайнеров C #. Поскольку ограничения могут быть разными, я думаю, что было принято решение сделать так, чтобы разработчик явно объявил ограничение вместо того, чтобы компилятор делал предположения.

но я попытался создать универсальный подкласс путем реализации универсального интерфейса.

public interface IModule<T> where T : DataBean { ..... }
public class Module<T> : IModule<T> where T : DataBean { .... } 

Кажется, я не могу полагаться ни на какие ограничения T, которые были определены в базовом интерфейсе, и мне нужно повторно объявить их самостоятельно.

MSDN только при условии:

При использовании параметров универсального типа подкласса необходимо повторить любые ограничения, предусмотренные на уровне базового класса на уровне подкласса. Например, ограничение деривации

Почему невозможно определить ограничения из базового класса / интерфейса?

Ответы на вопрос(3)

Ваш ответ на вопрос