Sdílet prostřednictvím


Vnořené typy (Příručka programování C#)

Typ definované v rámci třídy nebo struktury se nazývá vnořeného typu.Příklad:

class Container
{
    class Nested
    {
        Nested() { }
    }
}

Bez ohledu na to, zda je vnější typ třídy nebo struktury, vnořené typy výchozí privátní, ale může být provedeno veřejné, chráněné vnitřní, chráněné, vnitřní, nebo soukromé.V předchozím příkladu Nested je nepřístupné externí, ale lze zveřejnit takto:

class Container
{
    public class Nested
    {
        Nested() { }
    }
}

Typ vnořené nebo vnitřní přístup typu obsahující nebo vnější.K typu obsahující předáte jako konstruktor vnořeného typu.Příklad:

public class Container
{
    public class Nested
    {
        private Container parent;

        public Nested()
        {
        }
        public Nested(Container parent)
        {
            this.parent = parent;
        }
    }
}

Vnořený typ má přístup pro všechny členy, které jsou k dispozici jeho nadřazeného typu.Lze přístup k soukromé a chráněné členy obsahující typ včetně zděděných členů chráněné.

V předchozí prohlášení úplný název třídy Nested je Container.Nested.Toto je název použitý k vytvoření nové instance třídy vnořené takto:

Container.Nested nest = new Container.Nested();

Viz také

Referenční dokumentace

Třídy a struktur (Příručka programování C#)

Modifikátory přístupu (Příručka programování C#)

Konstruktory (Příručka programování C#)

Koncepty

Příručka programování C#