При определении ограничений типа типового типа мы должны положить class() спереди и new() в конце, например.
Почему это, почему я не могу помещать свои ограничения в любом порядке?
Существуют ли какие-либо другие ограничения при заказе, кроме class/struct, сначала new() в конце?
Пример:
protected T Clone<T>() where T : class, ICopyable<T>, new()