为什么在动作参数中有时需要传递lambda而不是其他时间?

JL。

考虑以下:

public void Step(Action code){}

要重用此代码,我通常将lambda表达式传递为:

tr.Step(() => StaticType.SomeMethod(someParameter);

在其他时候,我可以简单地通过一个void函数,而无需使用lambda表达式:

tr.Step(SomeNonStaticType.SomeMethod);

其中SomeMethod是:

public override void SomeMethod(){}

有人可以向我解释一下吗?

编辑:要清除都具有无效的返回类型。编辑2:如果我问这些问题,我应该读哪本书(请在评论中)。

JLRishe

Action 是具有0个参数且没有返回值的方法的委托。

您可以将符合这些条件的任何方法传递给您的tr.Step

您不能使用具有参数或返回类型为的方法Action,因为签名不匹配。为此,您需要执行类似的操作() => StaticType.SomeMethod(someParameter)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么数组有时通过值传递而不是其他时候传递?

来自分类Dev

为什么在Ruby中有时需要加括号?

来自分类Dev

为什么显示的图像有时显示而其他时间不显示?

来自分类Dev

为什么有时需要在将对象作为参数传递之前创建变量

来自分类Dev

为什么在 Rails 中有时我需要一个包,有时我不需要?

来自分类Dev

为什么我的``有时而不是其他人工作?

来自分类Dev

为什么我有时需要在 proc 作为 arg 传递时使用 & 前缀?

来自分类Dev

为什么有时在安装/删除其他软件时执行postinst?

来自分类Dev

为什么有时不需要在Lambda中捕获const变量?

来自分类Dev

为什么有时“this”在 Vue 模板中有效而有时无效?

来自分类Dev

有时传递过多的参数会起作用,为什么?

来自分类Dev

为什么 UseState 有时在我的代码中有时不起作用

来自分类Dev

为什么Bitlocker需要TPM来加密启动磁盘,而不是在加密其他磁盘时加密?

来自分类Linux

为什么在OpenSSL 1.1中ECC签名验证需要随机数(有时需要很长时间)?

来自分类Dev

为什么在传递lambda而不是函数指针时无法推断出模板参数

来自分类Dev

为什么Visualforce页面需要无效的HTML?(有时)

来自分类Dev

为什么有时需要外部包装箱?

来自分类Dev

为什么OCaml有时需要eta扩展?

来自分类Dev

为什么有时在元字符周围需要空格?

来自分类Dev

为什么有时在使用 Comparable 或其他接口时必须在尖括号中声明类类型?

来自分类Dev

为什么有时CNN模型只能预测所有其他类别中的一个类别?

来自分类Dev

为什么datetime对象有时返回日期,有时返回日期和时间?

来自分类Dev

当我的 SELECT 查询没有时,为什么我的 UPDATE 查询需要这么长时间?

来自分类Dev

为什么有时我添加`using`语句而不添加引用,而其他时候却不添加引用呢?

来自分类Dev

为什么有时(在一个线程中)效果对其他线程不可见?

来自分类Dev

当所有其他线程在主线程之前完成时,为什么仍然需要.join?

来自分类Dev

为什么有时需要在`data.frame()`中将`.`括在`do`中的命名参数中?

来自分类Dev

为什么有时有时需要手动重启路由器?

来自分类Dev

为什么有时有时需要手动导入密钥?

Related 相关文章

  1. 1

    为什么数组有时通过值传递而不是其他时候传递?

  2. 2

    为什么在Ruby中有时需要加括号?

  3. 3

    为什么显示的图像有时显示而其他时间不显示?

  4. 4

    为什么有时需要在将对象作为参数传递之前创建变量

  5. 5

    为什么在 Rails 中有时我需要一个包,有时我不需要?

  6. 6

    为什么我的``有时而不是其他人工作?

  7. 7

    为什么我有时需要在 proc 作为 arg 传递时使用 & 前缀?

  8. 8

    为什么有时在安装/删除其他软件时执行postinst?

  9. 9

    为什么有时不需要在Lambda中捕获const变量?

  10. 10

    为什么有时“this”在 Vue 模板中有效而有时无效?

  11. 11

    有时传递过多的参数会起作用,为什么?

  12. 12

    为什么 UseState 有时在我的代码中有时不起作用

  13. 13

    为什么Bitlocker需要TPM来加密启动磁盘,而不是在加密其他磁盘时加密?

  14. 14

    为什么在OpenSSL 1.1中ECC签名验证需要随机数(有时需要很长时间)?

  15. 15

    为什么在传递lambda而不是函数指针时无法推断出模板参数

  16. 16

    为什么Visualforce页面需要无效的HTML?(有时)

  17. 17

    为什么有时需要外部包装箱?

  18. 18

    为什么OCaml有时需要eta扩展?

  19. 19

    为什么有时在元字符周围需要空格?

  20. 20

    为什么有时在使用 Comparable 或其他接口时必须在尖括号中声明类类型?

  21. 21

    为什么有时CNN模型只能预测所有其他类别中的一个类别?

  22. 22

    为什么datetime对象有时返回日期,有时返回日期和时间?

  23. 23

    当我的 SELECT 查询没有时,为什么我的 UPDATE 查询需要这么长时间?

  24. 24

    为什么有时我添加`using`语句而不添加引用,而其他时候却不添加引用呢?

  25. 25

    为什么有时(在一个线程中)效果对其他线程不可见?

  26. 26

    当所有其他线程在主线程之前完成时,为什么仍然需要.join?

  27. 27

    为什么有时需要在`data.frame()`中将`.`括在`do`中的命名参数中?

  28. 28

    为什么有时有时需要手动重启路由器?

  29. 29

    为什么有时有时需要手动导入密钥?

热门标签

归档