不易访问 - 可访问性不一致

时间:2014-03-22 01:41:08

标签: c#

这是我的代码。我不明白这个错误。

Iconsistent accessibility: property type 'ProjetoClinica.Model.Pais' is less accessible than
property 'ProjetoClinica.Model.Estado.Paises' 
D:\Projeto\Clinica\ProjetoClinica\ProjetoClinica\Model\Estado.cs    39  21  ProjetoClinica

Pais是一个类

public class Estado : ICrud
{

    #region Atributos Privados

    private Pais paises;

    #endregion

    #region Atributos Públicos

    public Pais Paises
    {
        get { return this.paises; }
        set { this.paises = value; }
    }
}

2 个答案:

答案 0 :(得分:3)

如果您的Paises媒体资源在公共课程中公开显示,则其类型Pais必须标记为public。机会Pais被标记为internalprotectedprotected internalprivate

可以调用Paises的代码必须能够看到它返回的类型,因此您必须将Pais'访问修饰符更改为public

答案 1 :(得分:1)

错误是Paises属于public类型的public属性,但它返回的类型(Pais)不是public类型,因此该程序集的用户将无法访问它。这没有意义,所以编译器抱怨。

你可以:

  • 使Pais成为public类型,因此程序集的用户可以访问它,或
  • 使Estado成为internal类型,因此对于程序集的用户不可见