C#-Fehler: Aufgrund seiner Schutzebene nicht zugänglich
Dieser Leitfaden wird über den Fehler aufklären, auf den neue Programmierer häufig in C# stoßen, das aufgrund seines Schutzniveaus nicht zugänglich
ist. Der Grund dafür ist, dass die neuen Programmierer mit vielen Konzepten der objektorientierten Programmierung nicht vertraut sind.
Es erfordert viel Zeit und Übung. Wenn Sie auf diesen Fehler gestoßen sind, lassen Sie uns die Lösung dafür finden.
Unzugänglich aufgrund seiner Schutzebene in C#
Bevor wir die Lösung für diesen speziellen Fehler finden, müssen wir das Konzept namens Zugriffsmodifizierer in C# oder einer anderen objektorientierten Programmiersprache verstehen.
Also, was sind Zugriffsmodifikatoren? Lesen Sie weiter.
Was sind Zugriffsmodifikatoren in C#
In C# definieren Zugriffsmodifikatoren den Umfang der Zugänglichkeit einer Klasse, einschließlich ihrer Methoden und Feldmitglieder. In C# gibt es sechs verschiedene Arten.
Wenn wir beispielsweise einer Klasse den Zugriffsmodifikator öffentlich
geben, ist sie für alle im Programm zugänglich. Es gibt keine Beschränkung, wer am öffentlichen
Unterricht teilnehmen kann.
Sehen wir uns alle Zugriffsmodifikatoren an, die in C# verfügbar sind.
Public
- Der Zugang für öffentliche Mitglieder ist uneingeschränkt.Private
- Nur die Klassendefinition ist zugänglich. Wenn in C# kein Zugriffsmodifizierer angegeben ist, ist dies der Standardzugriffsmodifizierer.Protected
- Aufgeschützte
Klassen kann nur innerhalb der Klassendeklarationen und geerbten Klassen zugegriffen werden.Internal
- Nur die aktuelle Projektversammlung hat Zugriff.Protected Internal
– Der Zugriff ist auf die aktuelle Assembly und Typen beschränkt, die von der einschließenden Klasse geerbt wurden. Alle Mitglieder des aktuellen Projekts und der abgeleiteten Klasse haben Zugriff auf die Variablen.Private Protected
– Der Zugriff ist auf die eingeschlossene Klasse oder Typen beschränkt, die von der enthaltenden Klasse innerhalb der aktuellen Assembly geerbt wurden.
die Lösung des Fehlers
Angenommen, Sie fügen einer Klasse, ihren Membern oder ihren Methoden keine Zugriffsmodifikatoren hinzu. In diesem Fall wird der internal
Zugriffsmodifikator auf die Klasse angewendet und der private
Zugriffsmodifikator wird standardmäßig auf ihre Methoden und Felder angewendet, weshalb Sie möglicherweise diesen Fehler erhalten.
Da Sie Ihren Variablen keinen Zugriffsmodifikator zugewiesen haben, sind sie standardmäßig auf privat gesetzt. Sehen Sie sich den folgenden Code an.
namespace MyCsharp {
class csharprogram {
void method1() {}
class csharpin {}
}
}
Möglicherweise haben Sie Ihren Code wie oben geschrieben. Sie müssen ihm den Zugriffsmodifikator zuweisen.
Wie Sie ihm einen Zugriffsmodifikator hinzufügen, ist im folgenden Code angegeben.
namespace MyCsharp {
public class csharprogram {
public void method1() {}
public class csharpin {}
}
}
Wenn Sie Ihrer Klasse, Ihren Variablen und Methoden den Zugriffsmodifikator öffentlich
zuweisen, können Sie im gesamten Paket überall darauf zugreifen. Sie können überall darauf zugreifen.
Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.
LinkedIn