Если вы говорите об общих ограничениях, то да:
class SomeContainer<T> where T : new() {
...
}
Если вы говорите о наследовании. Невозможно требовать, чтобы каждый класс, который реализует ваш интерфейс или наследовал ваш базовый класс, имел конструктор без параметров.
Лучшее, что вы можете сделать, это использовать отражение в базовом конструкторе, чтобы вызвать исключение (во время выполнения), например:
abstract class MyBase {
protected MyBase() {
if (GetType().GetConstructor(Type.EmptyTypes) == null)
throw new InvalidProgramException();
}
}
Если вы говорите об одном классе, да; просто вставьте один.