我在Visual Studio中收到一条无法自行解决的错误消息。消息是:

不一致的可访问性:属性类型“ WindowsFormApplication1.ContactFiles.Contact”的访问权限比属性“ WindowsFormApplication1.ContactForm.ContactData”的访问权限少

public ContactFiles.Contact ContactData
    {
        get
        {
            return m_contact;
        }
        set
        {
            if (value != null)
                m_contact = value;
        }
    }


寻求帮助,以找到此问题的错误源!谢谢!

最佳答案

凯尔(Kyle)提出了一种方法,但是如果引起更多(相似)错误,则可以尝试另一种方法:将属性设置为内部:

internal ContactFiles.Contact ContactData
{
    // Code as before
}


如果需要将该属性公开,则需要Contact公开...这意味着您需要查看Contact的所有公开属性,以查看它们是否引用内部(或私有)类型。等

基本上,您不能拥有返回内部(或私有嵌套)类型的公共属性-这实际上是说“您可以使用此属性,但您不知道我将要返回的内容”,这实际上并没有说得通。对于普通方法的参数和返回类型也是如此。您也不能从内部类派生公共类。

关于c# - 试图了解错误消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10528101/

10-11 06:27
查看更多