Почему в ограничениях параметров универсального типа применяется некоторый порядок?

При определении ограничений параметра универсального типа мы должны поместить, например, class () в начало и new () в конце.

Почему это так, почему я не могу расположить свои ограничения в каком-либо порядке?

Существуют ли какие-либо другие ограничения на порядок, кроме class / struct first, new () в конце?


Пример:

protected T Clone<T>() where T : class, ICopyable<T>, new()
19
задан George Duckett 15 December 2011 в 15:20
поделиться