Akadálymentességi szintek (C#-referencia)
A hozzáférési módosítók , public
, protected
internal
vagy private
, segítségével megadhatja a tagok számára az alábbi deklarált akadálymentességi szintek egyikét.
Deklarált akadálymentesség | Értelmezés |
---|---|
public |
A hozzáférés nincs korlátozva. |
protected |
Az access csak az azt tartalmazó osztályra vagy az azt tartalmazó osztályból származtatott típusokra korlátozódik. |
internal |
A hozzáférés az aktuális szerelvényre korlátozódik. |
protected internal |
Az access csak az aktuális szerelvényre vagy az azt tartalmazó osztályból származtatott típusokra korlátozódik. |
private |
A hozzáférés a tartalmazó típusra korlátozódik. |
private protected |
A hozzáférés az aktuális szerelvényen belüli, az azt tartalmazó osztályból származtatott osztályra vagy típusokra korlátozódik. |
Tag vagy típus esetében csak egy hozzáférés-módosító engedélyezett, kivéve, ha a kombinációkat vagy private protected
a protected internal
kombinációkat használja.
A névtereken nem engedélyezettek a hozzáférési módosítók. A névterek nem rendelkeznek hozzáférési korlátozásokkal.
A tagdeklaráció kontextusától függően csak bizonyos deklarált hozzáférési képességek engedélyezettek. Ha egy tagdeklarációban nincs megadva hozzáférés-módosító, a rendszer alapértelmezett akadálymentességet használ.
A más típusokba nem ágyazott legfelső szintű típusok csak az akadálymentesség vagy public
a rendelkezésreállási lehetőségek közül választhatnakinternal
. Az ilyen típusok alapértelmezett akadálymentessége a következő internal
: .
A beágyazott típusok, amelyek más típusok tagjai, deklarálhatják a hozzáférési képességeket az alábbi táblázatban leírtak szerint.
Tagok: | A tagok alapértelmezett kisegítő lehetőségei | A tag engedélyezett deklarált akadálymentessége |
---|---|---|
enum |
public |
Egyik sem |
class |
private |
public protected internal private protected internal private protected |
interface |
public |
public protected internal private *protected internal private protected |
struct |
private |
public internal private |
* Az interface
akadálymentességgel rendelkező tagoknak alapértelmezett implementációval private
kell rendelkezniük.
Feljegyzés
Ha egy osztály vagy szerkezet a kulcsszómódosítóval record
van módosítva, akkor ugyanazok a hozzáférési módosítók engedélyezettek.
Emellett a record
módosítóval az alapértelmezett tag akadálymentessége továbbra private
is az osztály és a szerkezet számára is elérhető.
A beágyazott típus akadálymentessége az akadálymentességi tartományától függ, amelyet a tag deklarált akadálymentessége és az azonnal tartalmazó típus akadálymentességi tartománya határoz meg. A beágyazott típus akadálymentességi tartománya azonban nem haladhatja meg az azt tartalmazó típushoz tartozó tartományt.
C# nyelvi specifikáció
További információkért lásd a C# nyelvi specifikációját. A nyelvi specifikáció a C#-szintaxis és -használat végleges forrása.