0

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;
    }
}

グラフィックスと解像度をネストしたいのは、[設定]以外の場所からグラフィックスと解像度にアクセスできないようにするためです。

4

1 に答える 1

2

内部クラスのデフォルトのアクセシビリティprivateはです。

に変更するpublicinternal、包含クラスの外部にアクセスできるようにします。


コード内の無関係な問題は、同じ名前のメンバーを宣言していることです。これは、クラス名ResolutionGraphics他のメンバー(それぞれプロパティとフィールド)の両方です。

于 2013-02-06T20:11:16.880 に答える