In einer Konsole app, ich habe folgendes:Warum funktioniert dieser Delegat nicht?
static void Main(string[] args)
{
var t = New Test();
var newString = t.TestDelegate(tester("just testing"));
public static string tester(string s) {
return s;
}
}
public delegate string MyDelegate(string s);
public class Test
{
public string TestDelegate(MyDelegate m)
{
return "success!";
}
}
Dies funktioniert nicht. Auf der var newString
Linie, erhalte ich folgende Fehlermeldung:
cannot convert from 'string' to 'MyDelegate'
tester
hat die gleiche Signatur wie MyDelegate
. Was mache ich falsch?
Die 'TestDelegate()' Methode benötigt eine Instanz von 'MyDelegate'. Sie übergeben es eine 'Zeichenfolge'. Wenn Sie eine Delegat-Instanz übergeben möchten, die auf "tester" verweist, übergeben Sie einfach "tester", d. H. "Var newString = t.TestDelegate (tester);'. Wenn das nicht das ist, was du willst, dann habe ich keine Ahnung, was du willst. Bitte stellen Sie Ihre Frage so, dass es Sinn macht. –
Wie viele Buchstaben befinden sich in einem gewöhnlichen Umschlag? Ein. Wie viele Buchstaben befinden sich in einem "normalen Umschlag"? Achtzehn. Eine Funktion, die eine Zeichenkette erzeugt, und die Zeichenkette, die sie erzeugt, sind zwei sehr unterschiedliche Dinge. –