2016-07-29 15 views
-2

Ich kam in dieser Zeile:Syntax eines Arguments

client.Delay(() => Console.WriteLine("Reliable!"), TimeSpan.FromDays(1)); 

auf der Hangfire.io Website in ihrer Dokumentation, und war ein wenig durch die () => ratlos. Es sieht so aus, als ob es etwas mit Ordnen oder Suchen zu tun hat, aber mein Wissen darüber ist im Grunde Null. Was genau macht es?

+2

Es ist Lambda-Ausdruck. Grundsätzlich ist es eine anonyme Funktion - und in diesem Fall ohne Parameter. Ich wette, dass, wenn Sie in der Dokumentation für 'client' Typ' Delay' Methode suchen, es 2 Parameter benötigt - 1. ist ein Callback/Delegate (was durch diesen Lambda-Ausdruck dargestellt wird) und 2. sollte wahrscheinlich eine Verzögerung sein. –

+0

Ah! Okay. Danke @ MilanTomeš. Das erklärt es. Wenn du eine Antwort eingibst, gebe ich dir die Antwort dafür. – Paul

+0

Wow! Drei Downvotes für etwas, von dem ich keine Ahnung habe und daher keine Möglichkeit, nach einer Antwort zu suchen! Es gibt einige unfreundliche Menschen da draußen. – Paul

Antwort

2

Es ist Lambda-Ausdruck. Grundsätzlich ist es eine anonyme Funktion - und in diesem Fall ohne Parameter. Ich wette, dass, wenn Sie in der Dokumentation für client 's Delay Methode suchen, es dauert 2 Parameter - 1. ist ein Rückruf/Delegate (die durch diese Lambda-Ausdruck dargestellt wird) und 2. sollte wahrscheinlich eine Verzögerung sein.

1

Das ist ein Lambda-Ausdruck. Sie können verweisen die MSDN:

Ein Lambda-Ausdruck mit einem Ausdruck auf der rechten Seite des => Operator ist ein Ausdruck Lambda bezeichnet. Ausdruck Lambdas werden ausgiebig in der Konstruktion von Expression Trees verwendet (C# und Visual Basic). Ein Ausdruck Lambda gibt das Ergebnis des Ausdrucks und nimmt die folgende Grundform: (Eingabeparameter) => Ausdruck

1

Ohne etwas über Hangfire.io API zu wissen, ich würde sagen, dass Sie die Delay-Methode rufen ein Passieren anonymer Lambda-Ausdruck. Dieses Lambda wird irgendwo innerhalb der Delay-Methode aufgerufen und führt den Code aus, den Sie hinter dem() => ... haben.

+1

TimeSpan.FromDays (1) ist das zweite Argument der Delay-Methode und Argumente sind durch einen Doppelpunkt getrennt; o) –

+1

Vielen Dank für Ihre Hilfe, Steve - mein Wissen über C# ist sehr begrenzt, so dass ich dein Wort nehmen muss dafür; o). Ich muss anfangen, diese Sprache tiefer zu lernen. – Paul

+0

ahh, ich sehe, danke @SirRufo. – Steve