Avatar ·

Func<T>-Delegat ohne Rückgabetyp: Wie man Action statt Func verwendet?

Hallo zusammen! Ich habe gerade angefangen, C# zu lernen, und bin auf eine unklare Situation mit Delegaten gestoßen. Ich weiß, dass es die integrierten Delegaten `Func` und `Action` gibt. Aber wenn ich versuche, `Func` für eine Methode zu verwenden, die nichts zurückgibt (void), erhalte ich einen Kompilierungsfehler. Hier ist ein Beispielcode, der bei mir nicht funktioniert: ```csharp using System; class Program { static void Main() { // Versuche, einen Delegaten für eine Methode zu erstellen, die Text ausgibt Func myDelegate = PrintMessage; // Fehler! myDelegate("Hallo, Welt!"); } static void PrintMessage(string message) { Console.WriteLine(message); } } ``` Der Compiler gibt einen Fehler aus: "No overload for 'PrintMessage' matches delegate 'Func'" oder so ähnlich. Ich verstehe, dass `Func` eine Methode erwartet, die einen `string` entgegennimmt und einen `string` zurückgibt, aber meine Methode gibt nichts zurück. Warum passiert das? Ich habe doch gesehen, dass `Func` Parameter akzeptieren kann, aber nicht