c# - clase - error cs0050 incoherencia de accesibilidad el tipo de valor devuelto
Primera vez con este error-Accesibilidad incoherente (3)
El problema es que IOperatorRequest
es probablemente internal
.
ACTUALIZAR
Lo que dije es correcto. Omitir el modificador lo hace interno.
Las clases y las estructuras que se declaran directamente dentro de un espacio de nombres (en otras palabras, que no están anidadas dentro de otras clases o estructuras) pueden ser públicas o internas. Internal es el valor predeterminado si no se especifica ningún modificador de acceso.
Esta es la primera vez que trabajo con interfaces y una estructura de espacio de nombres adecuada. Cuando compilo obtengo el siguiente error, no tengo idea de lo que significa. Cualquier búsqueda que hago muestra problemas públicos privados, pero ambos son públicos. ¿Algunas ideas?
Error Accesibilidad incoherente: el tipo de retorno ''System.Collections.Generic.List'' es menos accesible que el método ''Webtext.ApplicationEntities.Implementations.AdditionalEntities.UrlBuilderO2.GetUrlRequests (string, string, string, string)'' C: / Users / Laptop / documents / visual studio 2010 / Projects / Webtext / Webtext / ApplicationEntities / Implementations / AdditionalEntities / UrlBuilderO2.cs 19 39 Webtext
Los archivos de código son:
namespace Webtext.ApplicationEntities.Interfaces
{
interface IUrlBuilder
{
List<IOperatorRequest> GetUrlRequests(string UserName, string Password, string MessageRecipient, string Message);
}
}
Y:
namespace Webtext.ApplicationEntities.Implementations.AdditionalEntities
{
public class UrlBuilderO2: IUrlBuilder
{
public List<IOperatorRequest> GetUrlRequests(string UserName, string Password, string MessageRecipient, string Message)
{
throw new NotImplementedException();
}
}
}
Estructura del espacio de nombres
Webtext
ApplicationEntities
Interfaces
##### INTERFACE IS HERE
Implementations
AdditionalEntities
##### URL BUILDER IS HERE
Tiene una propiedad public
en una clase public
que expone una lista de tipos no public
.
Necesita cambiar IOperatorRequest
para que sea public
o cambie la clase GetUrlReuests
o el método GetUrlReuests
para que no sea public
.
IOperatorRequest
es internal
que es menos accesible que public
.
Los tipos de nivel superior, que no están anidados en otros tipos, solo pueden tener acceso interno o público. La accesibilidad predeterminada para estos tipos es interna .