Rufen Sie die Methode in der Klasse von einer anderen Klasse in C#
Ich habe ein kleines problem, wenn ich versuche, rufen Sie die Methode aus einer anderen Klasse (nicht die Main-Klasse). Hier ist mein Test-code:
using System;
namespace ConsoleApplication3
{
public class Program
{
static void Main(string[] args)
{
Class1 cl = new Class1();
cl.TestMethod();
}
}
public class Class1
{
public string TestMethod()
{
return "test";
}
}
public class Class2
{
Class1 cl = new Class1();
cl.TestMethod(); //Error here
}
}
Was muss ich tun, um call TestMethod in Class2?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht aufrufen einer Methode von außen eine Methode,constrcutor oder eine Eigenschaft
ändert sich die Klasse zwei dieser:
Können Sie nicht zum aufrufen von Methoden in eine Klasse Körper. Methode angeben oder, zum Beispiel, fügen Sie Ihren code in eine
Class2
Konstruktor wie folgt:Ich glaube, Sie haben Klassen verwechseln mit Methoden.
Eine Methode ist eine Unterroutine, ein Stück code, die aufgerufen werden können, von otjer Teile der code-und läuft der Reihe nach ab.
Eine Klasse ist ein Datentyp. Sie erstellen konkrete Instanzen einer Klasse und dann seine Eigenschaften zugreifen oder Methoden aufrufen.
Also Main ist eine Methode, nicht eine Klasse. Insbesondere ist es eine Methode der program-Klasse.
In einer Klasse der gesamte ausführbare code muss in eine Methode. Das eine (Art von) Ausnahme von dieser Regel ist, dass Sie initialisiert werden können Mitglieder, die außerhalb einer Methode. Das ist, was du mit
c1 = new Class1()
. Diese Aussagen werden implizit ausgeführt, wenn Sie erstellen Sie die Klasse mit neue.Aufrufen der Methode class1 Sie haben entweder das deklarieren einer Methode auf class2, es zu tun.l, oder definieren Sie einen Konstruktor, der inokes es. Jedoch ist es sehr schlechte Praxis, haben einen Konstruktor, dass bedeutet eine Menge Arbeit. Ein Konstrukt sollte nur Dinge wie das initialisieren Mitglieder, die notwendig sind, um die Klasse zu funktionieren.
Sie definiert haben, eine zweite Klasse, die eine Methode oder Konstruktor im inneren, um für diese zu arbeiten. Wickeln Sie es um die Instanzierung und er zugänglich sein wird 🙂