用于调用期望单个参数的实例方法的Expression.Call()重载丢失。是否有一个原因?

时间:2016-12-20 21:40:06

标签: c# c#-5.0 linq-expressions

查看Expression.Call(),方法可用的文档重载,我可以找到以下重载来获取一个表达式节点,该节点将执行对期望的实例方法的调用:

  1. 没有参数
  2. 两个论点
  3. 三个论点
  4. 四个论点
  5. 通过Expression数组
  6. 的变量参数
  7. 通过IEnumerable<Expression>
  8. 的变量参数

    没有超载期望单个参数的理由是什么?

    在我看来,单个参数案例的方法签名是:

    public static MethodCallExpression Call(
        Expression instance,
        MethodInfo method,
        Expression arg0);
    

    我没有看到任何会与此方法签名发生冲突的其他重载,所以我真的不知道该方法丢失的原因。 我理解,期望数组或IEnumerable的重载将允许我为单参数情况创建Expression,但这也适用于其他可用的重载,所以我很好奇,如果有我没有看到的东西可以解释为什么缺少这种重载。

0 个答案:

没有答案