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
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs