Hallo CSharp Freunde,
ich wuerde gerne zwei Methoden miteinander verknuepfen. Zum Beispiel "Katze fuettern" mit "Katze schnurrt".
Ich kann in der Main() Methode die Methode "Katze fuettern" der Klasse Katze aufrufen. Ich komme aber nicht drauf wie ich die Methode "Katze schnurrt" mit der Methode "Katze fuettern" aufrufen/ausloesen kann, ohne "Katze schnurrt" static zu setzen.
In diesem Fall kann ich die Methoden nur in Verbindung mit einem Objekt ausfuehren, aber das geht nicht innerhalb der Methode "Katze fuettern". Ich kann zwar das Objekt in die Methode uebergeben, aber das scheint mir keinen Sinn zu machen.
Ist fuer euch sicher ne doofe Frage, aber ich komm aleine nich drauf.
Vielen Dank
In "Katze fuettern" this.schnurren() oder wie auch immer deine Methode heißt aufrufen.
Darth Maim
Hallo,
Falls Darth Maim es noch nicht getroffen hat und Dein Problem anders gelagert ist, schau Dich mal mit den Stichworten Delegates/Delegaten und Events/Ereignissen um, zum Beispiel in [Artikel] Delegaten, anonyme Methoden, Lambda-Ausdrücke & Co. und [FAQ] Eigenen Event definieren / Information zu Events
Bitte beachte vorsorglich auch [Hinweis] Wie poste ich richtig?
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
public class Cat
{
void feed()
{
Console.WriteLine("Feeding the cat - yum yum yum");
purr();
}
void purr()
{
Console.WriteLine("prrrr prrr prrr");
}
public static void Main(String[] args)
{
new Cat().feed();
}
}
Clean Code Developer
Hallo zusammen,
jetzt könnte ich die Funktion "Hätte ich genauso geschrieben"-Funktion um positives Feedback aus der Community zu ermöglichen gebrauchen 😃 um MarsSteins Beitrag zu unterstützen. Offensichtlich geht es Johnnnny gerade nicht darum die Methode direkt aufzurufen. Events wären dafür genau die Lösung.
herbivore
Also wie ich das verstehe ist das Problem, dass "Katze fuettern" statisch ist und "Katze schnurrt" nicht.
public class Cat
{
void static feed()
{
Console.WriteLine("Feeding the cat - yum yum yum");
purr(); // Geht natürlich nicht, weil purr nicht statisch ist und eine Instanz benötigt
}
void purr()
{
Console.WriteLine("prrrr prrr prrr");
}
public static void Main(String[] args)
{
Cat.feed();
}
}
Allerdings verstehe ich nicht, wofür genau man das brauchen sollte. Wenn ichs denn getroffen habe, könntest du den speziellen Fall nennen?