Взаимоисключающие ограничения для двух методов с одинаковой подписью

Таким образом, эти два метода имеют одну и ту же сигнатуру, но разные ограничения

public static void Method<T>(ref T variable) where T : struct { }

public static void Method<T>(ref T variable) where T : class { }

Но их нельзя определить в одном классе, потому что они имеют одинаковые подписи. Но в этом конкретном случае они взаимоисключающие. (Если я не прав в этом)

Я понимаю, что вы можете поставить дополнительные ограничения, кромеclass а такжеstruct но вы не можете указать обаstruct а такжеclass по тому же методу. Так почему бы это не скомпилировать?

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

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