Compilerfehler CS0703Compiler Error CS0703

Inkonsistenter Zugriff: Einschränkungstyp "Bezeichner" ist weniger zugreifbar als "Bezeichner"Inconsistent accessibility: constraint type 'identifier' is less accessible than 'identifier'

Eine Einschränkung zwingt den generischen Parameter möglicherweise nicht dazu, weniger zugreifbar als die generische Klasse selbst zu sein.A constraint may not force the generic parameter to be less accessible than the generic class itself. Im folgenden Beispiel versucht die Einschränkung T zu zwingen, eine interne Schnittstelle zu implementieren, während die Klasse C<T> als öffentlich deklariert wird.In the following example, while the generic class C<T> is declared public, the constraint attempts to force T to implement an internal interface. Selbst wenn dies erlaubt wäre, könnten nur Clients mit internem Zugriff den Parameter für die Klasse erstellen. Dies bedeutet, dass die Klasse nur von Clients verwendet werden könnte, die internen Zugriff haben.Even if this were allowed, only clients with internal access would be able to create the parameter for the class, so in effect, the class could be used only by clients with internal access.

Um diesen Fehler zu beheben, achten Sie darauf, dass die Zugriffsebene der generischen Klasse nicht weniger einschränkend als eine andere Klasse oder Schnittstelle ist, die innerhalb der Grenzen vorhanden sind.To get rid of this error, make sure the access level of the generic class is not less restrictive than any classes or interfaces that appear in the bounds.

Im folgenden Beispiel wird CS0703 generiert:The following sample generates CS0703:

// CS0703.cs  
internal interface I {}  
public class C<T> where T : I  // CS0703 – I is internal; C<T> is public  
{  
}