代码之家  ›  专栏  ›  技术社区  ›  deanvmc

第一次出现此错误-可访问性不一致

  •  3
  • deanvmc  · 技术社区  · 14 年前

    这是我第一次使用接口和适当的名称空间结构。当我编译时,我得到了下面的错误,我不知道它是什么意思。我做的任何搜索都会显示私人的公共问题,但两者都是公共的。有什么想法吗?

    可访问性不一致错误:返回类型“System.Collections.Generic.List”的可访问性低于方法“Webtext.ApplicationEntities.implementationals.AdditionalEntities.UrlBuilderO2.GetUrlRequests” (string,string,string,string)'C:\Users\Laptop\documents\visual studio 2010\Projects\Webtext\Webtext\applicationenties\Implementations\AdditionalEntities\UrlBuilderO2.cs 19 39 Webtext

    代码文件是:

    namespace Webtext.ApplicationEntities.Interfaces
    {
        interface IUrlBuilder
        {
           List<IOperatorRequest> GetUrlRequests(string UserName, string Password, string MessageRecipient, string Message);
        }
    }
    

    以及:

    namespace Webtext.ApplicationEntities.Implementations.AdditionalEntities
    {
        public class UrlBuilderO2: IUrlBuilder
        {
    
            public List<IOperatorRequest> GetUrlRequests(string UserName, string Password, string MessageRecipient, string Message)
            {
                throw new NotImplementedException();
            }
        }
    }
    

    命名空间结构

    Webtext
    
    ApplicationEntities
    
         Interfaces
              ##### INTERFACE IS HERE
    
         Implementations
    
              AdditionalEntities
                   ##### URL BUILDER IS HERE
    
    3 回复  |  直到 14 年前
        1
  •  7
  •   SLaks    14 年前

    你有一个 public 上的属性 公众的 类,该类公开非- 公众的 类型。
    你需要改变 IOperatorRequest 成为 公众的 或者改变 UrlBuilderO2 类或 GetUrlReuests 非方法- 公众的 .

        2
  •  3
  •   Aliostad    14 年前

    问题是 IOperatorRequest 可能是 internal .

    更新

    我说的是对的。 Omitting modifier makes it internal.

    直接在命名空间中声明的类和结构(换句话说,不是嵌套在其他类或结构中的类和结构)可以是公共的或内部的。如果未指定访问修饰符,则默认为“内部”。

        3
  •  2
  •   Russ Ferri    14 年前

    IOperatorRequest internal public .

    未嵌套的顶级类型 在其他类型中,只能有内部 或公共无障碍设施。 违约 这些类型的可访问性是 内部的 .

    from MSDN