Sie möchten sagen
%Vor%
Denken Sie so darüber nach. Sie benötigen t => anonymous-expression-body
. In diesem Fall ist anonymous-expression-body
ein expression
oder ein block
. Sie können keinen leeren Ausdruck haben, sodass Sie keinen leeren Methodenkörper mit einem expression
angeben können. Daher müssen Sie block
verwenden. In diesem Fall können Sie { }
angeben, um anzugeben, dass a block
eine leere statement-list
hat und daher der leere Text ist.
Weitere Informationen finden Sie in der Grammatikspezifikation, Anhang B.
Und hier ist eine andere Art und Weise, darüber nachzudenken, eine Möglichkeit, die Sie verwenden könnten, um dies für sich selbst zu entdecken. Ein Action<T>
ist eine Methode, die ein T
übernimmt und void
zurückgibt. Sie können eine Action<T>
über eine nicht anonyme Methode oder über eine anonyme Methode definieren. Sie versuchen herauszufinden, wie man es mit einer anonymen Methode (oder vielmehr einer sehr speziellen anonymen Methode, nämlich einem Lambda-Ausdruck) macht. Wenn Sie dies über eine nicht-anonyme Methode tun möchten, würden Sie
sagen
%Vor%
und dann könnte man sagen
%Vor%
verwendet das Konzept einer Methodengruppe. Aber jetzt wollen Sie dies in einen Lambda-Ausdruck übersetzen. Nehmen wir also diesen Methodenkörper und machen ihn zu einem Lambda-Ausdruck. Deshalb werfen wir das private void MyAction<T>(T t)
weg und ersetzen es durch t =>
und kopieren wörtlich den Methodenkörper { }
.
%Vor%
Boom.