我在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/