Wie der Zugriff auf eine statische Methode in c#?
Wenn wir eine statische Methode in einer Klasse nur statische member zugreifen Recht und
die statische Methode kann nur den Zugriff mit Klassenname. Also ich bin nicht in der Lage, den Zugriff auf die statische Methode in meinem Beispiel:
class myclass
{
int i ; static int j ;
static void get()
{
j = 101;
Console.WriteLine(j.ToString ());
}
public void test()
{
i = 11; j = 12;
Console.WriteLine(i.ToString());
Console.WriteLine(j.ToString());
}
}
class Program
{
static void Main(string[] args)
{
myclass clsmyclas = new myclass();
clsmyclas.test();
Console.ReadLine();
}
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie es ändern, um
und mit
Nicht eine Instanz der Klasse.
Ihre Frage ist einfach. Die Standard-accessor für eine
static void
Methode istprivate
. Fügen Sie einfach entwederpublic
oderinternal
vor derget
Methode und du bist gut zu gehen.Auch, es wäre am besten, nicht zu nennen die Methode
get
um Verwirrung zu vermeiden, die mit den Eigenschaften.Müssen Sie machen myclass.Holen Sie sich eine öffentliche Methode.
Den Standard-Zugänglichkeit eines Mitgliedes ist für die meisten privaten, die möglich ist. Das bedeutet, dass Ihre Methode ist private, da Sie noch nicht angegeben, jede Zugriffsebene.
Müssen Sie angeben, als "öffentlich" (oder intern aus, wenn Sie nur zugreifen müssen innerhalb des gleichen Projekts) zu erreichen:
oder:
Sie können eine beliebige access-modifier, die Sie auf Ihre statische Methoden.
Zugriff natürlich nur begrenzt die Möglichkeit es außerhalb der Klasse selbst.
Aber statische Methoden können mit dem Schlüsselwort this als Referenz auf die übergeordnete Klasse.
Abhängig von der Zugriffsebene der Methode, die Sie aufrufen können, eine Methode statisch als: