valor tipo incoherencia error devuelto cs0050 accesibilidad c#

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



incoherencia de accesibilidad c# (3)

¿Qué pasa con el siguiente código c #? El compilador 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<T> { bool IsDataValid(); /* Other interfaces */ } public class Class1<T> { public Interface1<T> interface1; public Class1(Interface1<T> 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.


Marque su interfaz como pública:

public interface Interface1<T>

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


su "Interface1" no es pública ...

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


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.