Gegenseitig ausschließende Einschränkungen für zwei Methoden mit derselben Signatur
Diese beiden Methoden haben also dieselbe Signatur, aber unterschiedliche Einschränkungen
public static void Method<T>(ref T variable) where T : struct { }
public static void Method<T>(ref T variable) where T : class { }
Sie können jedoch nicht in einer einzelnen Klasse definiert werden, da sie die gleichen Signaturen haben. In diesem speziellen Fall schließen sie sich jedoch gegenseitig aus. (Sofern ich mich nicht irre)
Soweit ich weiß, können Sie darüber hinaus weitere Einschränkungen festlegenclass
undstruct
Sie können jedoch nicht beide angebenstruct
undclass
auf die gleiche Methode. Warum kann dies nicht kompiliert werden?