Share via


Errore del compilatore CS0703

Aggiornamento: novembre 2007

Messaggio di errore

Accessibilità incoerente: il tipo di vincolo 'identificatore' è meno accessibile di 'identificatore'.
Inconsistent accessibility: constraint type 'identifier' is less accessible than 'identifier'

È possibile che un vincolo non imponga al parametro generico un'accessibilità minore della classe generica. Nel seguente esempio la classe generica C<T> è dichiarata pubblica e tramite il vincolo si tenta di imporre a T l'implementazione di un'interfaccia interna. Anche se questo fosse consentito, il parametro per la classe potrebbe essere creato solo da client con accesso interno e, di conseguenza, la classe potrebbe essere utilizzata solo da questi client.

Per eliminare l'errore, accertarsi che il livello di accesso della classe generica non sia meno restrittivo di quello delle altre classi o interfacce presenti nelle associazioni.

Il seguente codice di esempio genera l'errore CS0703:

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