Error de accesibilidad incoherente con el siguiente código c #. ¿Por qué?

¿Qué pasa con el siguiente código c #? El comstackdor informa este error:

Accesibilidad incoherente: el tipo de parámetro ‘ClassLibrary1.Interface1’ es menos accesible que el método ‘ClassLibrary1.Class1.Class1 (ClassLibrary1.Interface1)’

con el siguiente código:

interface Interface1 { bool IsDataValid(); /* Other interfaces */ } public class Class1 { public Interface1 interface1; public Class1(Interface1 interface1) { this.interface1 = interface1; } } 

Desde entonces, he diseñado mi código de forma diferente con inheritence, pero si alguien pudiera decirme qué es lo que está mal, lo agradecería muchísimo.

su “Interface1” no es pública …

 public interface Interface1 { bool IsDataValid(); /* Other interfaces */ } 

Marque su interfaz como pública:

public interface Interface1

Si omite la etiqueta de accesibilidad, su valor predeterminado es internal , es decir, solo accesible para otras clases dentro del ensamblaje.

La segunda solución es: si su interfaz no es pública, no haga que su clase sea pública donde esté haciendo un manejo de interfaz.