Wzajemnie wykluczające ograniczenia na dwóch metodach z tym samym podpisem

Zatem te dwie metody mają ten sam podpis, ale różne ograniczenia

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

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

Ale nie można ich zdefiniować w jednej klasie, ponieważ mają takie same podpisy. Ale w tym konkretnym przypadku wzajemnie się wykluczają. (Chyba że się mylę)

Rozumiem, że oprócz tego możesz wprowadzić dodatkowe ograniczeniaclass istruct ale nie możesz określić obustruct iclass tą samą metodą. Dlaczego więc nie udało się to skompilować?

questionAnswers(3)

yourAnswerToTheQuestion