CS0703 de erro do compilador

Mensagem de erro

Acessibilidade divergente: tipo de restrição 'identificador' é menos acessível que 'identificador'

Uma restrição não pode forçar o parâmetro genérico seja menos acessível que a própria classe genérica.No exemplo a seguir, enquanto a classe genérica C <t>está declarado como pública, a restrição tenta forçar T para implementar uma interface interna.Mesmo se isso foi permitido, somente para clientes com acesso interno devem ser capazes de criar o parâmetro para a classe, então, na verdade, a classe poderia ser usada somente por clientes com acesso interno.

Para eliminar esse erro, certifique-se de que o nível de acesso de classe genérica não é menos restritivas que as classes ou interfaces que aparecem dos limites.

O exemplo a seguir gera CS0703:

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