Spisu treści:
Definicja - Co oznacza „niedostępny członek”?
Niedostępny element członkowski w kontekście C # to element członkowski, do którego nie można uzyskać dostępu przez określony typ. Niedostępny element, do którego nie można uzyskać dostępu jednym typem, może być dostępny dla innego typu.
Niedostępny element członkowski może uzyskać poziom dostępności, który kontroluje jego użycie, z innego kodu w zestawie, w którym został zadeklarowany, lub z innych zespołów.
Element typu został zaprojektowany w taki sposób, aby był niedostępny dla niektórych typów w celu kapsułkowania. Hermetyzacja danych pomaga chronić dane w obiekcie przed przypadkowym uszkodzeniem, a także ukrywa zbędne szczegóły implementacji przed użytkownikiem obiektu.
Techopedia wyjaśnia niedostępnego członka
Dostępność członka typu zależy od typu, w którym się on znajduje, i modyfikatora dostępu określonego w deklaracji. Poniżej przedstawiono modyfikatory dostępu używane do określania dostępności:
- Publiczny: dostęp zarówno do bieżącego zestawu, jak i zewnętrznego zestawu, który się do niego odwołuje.
- Prywatny: dostęp jest ograniczony do typu zawierającego.
- Protected: Dostęp jest ograniczony do zawierającej klasy lub typów pochodnych z zawartego typu.
- Wewnętrzne: dostęp jest ograniczony tylko do bieżącego zestawu.
- Chronione wewnętrzne: dostęp jest ograniczony do bieżącego zestawu lub typów pochodzących z klasy zawierającej.
Na przykład typ można zadeklarować za pomocą metody, która ma chroniony modyfikator, dzięki czemu jest niedostępna poza klasą, ale dostępna dla klas pochodnych.
Nie wszystkie modyfikatory dostępu mogą być używane we wszystkich kontekstach przez wszystkie typy. Gdy członek typu nie zawiera modyfikatora dostępu podczas deklaracji, jego domyślna dostępność jest prywatna.
Zgodnie z ograniczeniem dostępności w języku C #, kilka konstrukcji wymaga, aby typ był co najmniej tak samo dostępny jak element członkowski lub inny typ. Ponadto, jeśli członek jest metodą, delegatem lub indeksatorem, typ zwracanego typu i typy parametrów muszą być co najmniej tak samo dostępne, jak sam członek. Użycie niedostępnego elementu spowoduje błąd czasu kompilacji.