Číst v angličtině

Sdílet prostřednictvím


Chyba kompilátoru CS0450

'Název parametru typu': nemůže zadat jak třídu omezení, tak omezení "class" nebo "struct"

Pokud je parametr typu omezen omezením typu struktury, je logicky v rozporu s tím, aby byl také omezen konkrétním typem třídy, protože struktura a třída se vzájemně vylučují kategorie. Pokud je parametr typu omezen omezením konkrétního typu třídy, pak se jedná o definici omezená omezením typu třídy a proto je určení omezení typu třídy redundantní.

Příklad

// 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 { }  
}