功能链 - 方法名称预期

时间:2018-02-13 06:38:24

标签: c# .net delegates func

我的意图是在Func中链接几个方法并逐个执行它们以获得关于Function成功执行与否的响应。下面是我的代码,但是从GetInvocationList获取后无法调用func,因为它需要一些方法名称。请建议解决它......

            Func<bool> funcList = null;
            funcList += Init;
            funcList += Process;
            foreach(var func in funcList.GetInvocationList()) {
                bool execuationStatus = func();

            }

1 个答案:

答案 0 :(得分:1)

将您的方法更改为:

WITH 
c AS
(
    SELECT 
    udf.test(jsoninput.salesdata.productsbyzone.zones) as result
    from jsoninput
),
b AS
(
  SELECT 
    c.result.eastzone as east,c.result.westzone as west,c.result.northzone as north,c.result.southzone as south
    from c
)

SELECT
    b.east,b.west,b.north,b.south
INTO
    jaycosmos
FROM
    b

GetInvokationList返回Delegate [],你无法调用它。 Delegate类与delegate关键字之间存在差异。根据MSDN文档:

  

Delegate类是委托类型的基类。但是,只有   系统和编译器可以从Delegate类中明确派生   或者来自MulticastDelegate类。它也是不允许的   从委托类型派生新类型。 Delegate类不是   被认为是代表类型;它是一个用于派生委托的类   类型。

     

大多数语言都实现了委托关键字,以及这些关键字的编译器   语言能够从MulticastDelegate类派生;   因此,用户应该使用由提供的delegate关键字   语言。