我已经定义了一个这样的代表:

   delegate void processRecord(int a, int b);


现在我想用它来创建一个匿名方法来提供函数调用。该函数的定义如下:

   void someFunction(processRecord fcn);


我想用匿名方法调用someFunction,但是我不能正确地做到这一点:

   someFunction(new processRecord(a, b) {
       // do stuff
   });


这样的语法如何正确?

最佳答案

您可以这样称呼它:

someFunction(delegate( int a, int b) {
   // do stuff
});


C#编译器会根据您的调用上下文确定您正在创建delegate processRecord

07-28 14:08