我在C#中遇到了类层次结构的问题。我环顾四周并尝试了一些事情,但我找不到任何原因导致这种情况不起作用,也许我只是不了解嵌套类的可见性。
class Settings
{
class Graphics
{
class Resolution
{
public int Width { get; set; }
public int Height { get; set; }
}
public Resolution Resolution = new Resolution();
public bool VSync { get; set; }
}
public Graphics Graphics = new Graphics();
public Settings()
{
// Graphics.Resolution is not visible here, nor is Graphics.VSync;
}
}
我希望嵌套图形和分辨率,因为我不希望它们可以通过“设置”以外的任何位置访问。
答案 0 :(得分:2)
内部类的default accessibility为private
。
将其更改为public
或internal
,以便在所涵盖的课程之外获取访问权限。
您的代码中一个不相关的问题是您声明具有相同名称的成员 - Resolution
和Graphics
都是类名和其他成员(分别是属性和字段)。