Begivenhed
17. mar., 21 - 21. mar., 10
Deltag i meetup-serien for at bygge skalerbare AI-løsninger baseret på brugscases fra den virkelige verden sammen med andre udviklere og eksperter.
Tilmeld dig nuDenne browser understøttes ikke længere.
Opgrader til Microsoft Edge for at drage fordel af de nyeste funktioner, sikkerhedsopdateringer og teknisk support.
A type defined within a class, struct, or interface is called a nested type. For example
public class Container
{
class Nested
{
Nested() { }
}
}
Regardless of whether the outer type is a class, interface, or struct, nested types default to private; they are accessible only from their containing type. In the previous example, the Nested
class is inaccessible to external types.
You can also specify an access modifier to define the accessibility of a nested type, as follows:
Nested types of a class can be public, protected, internal, protected internal, private or private protected.
However, defining a protected
, protected internal
or private protected
nested class inside a sealed class generates compiler warning CS0628, "new protected member declared in sealed class."
Also be aware that making a nested type externally visible violates the code quality rule CA1034 "Nested types should not be visible".
Nested types of a struct can be public, internal, or private.
The following example makes the Nested
class public:
public class Container
{
public class Nested
{
Nested() { }
}
}
The nested, or inner, type can access the containing, or outer, type. To access the containing type, pass it as an argument to the constructor of the nested type. For example:
public class Container
{
public class Nested
{
private Container? parent;
public Nested()
{
}
public Nested(Container parent)
{
this.parent = parent;
}
}
}
A nested type has access to all of the members that are accessible to its containing type. It can access private and protected members of the containing type, including any inherited protected members.
In the previous declaration, the full name of class Nested
is Container.Nested
. This is the name used to create a new instance of the nested class, as follows:
Container.Nested nest = new Container.Nested();
.NET feedback
.NET er et åben kildekode projekt. Vælg et link for at give feedback:
Begivenhed
17. mar., 21 - 21. mar., 10
Deltag i meetup-serien for at bygge skalerbare AI-løsninger baseret på brugscases fra den virkelige verden sammen med andre udviklere og eksperter.
Tilmeld dig nuTræning
Modul
Administrer klasseimplementeringer - Training
Få mere at vide om, hvordan du implementerer klasser ved hjælp af avancerede teknikker, f.eks. statiske klasser, delvise klasser og initialisering af objekter, der kan forbedre læsbarheden, vedligeholdelsen og organiseringen af din kode.