Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS0450

"Nazwa parametru typu": nie można określić zarówno klasy ograniczenia, jak i ograniczenia "class" lub "struct"

Jeśli ograniczenie typu parametru jest ograniczone przez ograniczenie typu struktury, jest logicznie sprzeczne, ponieważ jest on również ograniczony przez określony typ klasy, ponieważ struktura i klasa są wzajemnie wykluczające się kategorie. Jeśli parametr typu jest ograniczony przez określone ograniczenie typu klasy, jest on ograniczony przez definicję przez ograniczenie typu klasy, a więc określenie ograniczenia typu klasy jest nadmiarowe.

Przykład

// CS0450.cs  
// compile with: /t:library  
public class GenericsErrors
{  
    public class B { }  
    public class G3<T> where T : struct, B { } // CS0450  
// To resolve, use the following line instead:  
// public class G3<T> where T : B { }  
}