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ć?