2011-04-15 13 views
1

时:CS0305,无效参数数目使用我获得以下错误System.Func委托

error CS0305: Using the generic type 
'System.Func<T1,T2,T3,T4,T5,T6,T7,T8,T9,TResult>' 
requires '10' type arguments 

在此行中:

public static IDoubleArray ApplyFunc(IDoubleArray inputArray1, 
          IDoubleArray inputArray2, 
          Func<double, double, double> f) { 

在System命名空间中的函数功能的定义是这样的:

[TypeForwardedFrom("System.Core, Version=3.5.0.0, 
        Culture=Neutral,  
        PublicKeyToken=b77a5c561934e089")] 
public delegate TResult 
     Func<in T1, in T2, out TResult>(T1 arg1, T2 arg2); 

一切看起来不错,但编译器不这么认为。

任何想法如何解决这个问题?

谢谢。

编辑:

调用看起来是这样的:

/// <summary>Inverse cumulative distribution function</summary> 
     /// <param name="p">Probabilities at which to compute the inverse cdf</param> 
     /// <param name="mu">Scale parameters</param> 
     public static IDoubleArray Inv(IDoubleArray p, IDoubleArray mu) 
     { 
      return ArrayMath.ApplyFunc(Matrix.ConvertToMatrix(p), Matrix.ConvertToMatrix(mu), Inv); 
     } 
+0

ApplyFunc的调用看起来像 – 2011-04-15 09:17:57

+0

你确定错误信息不是'最好的重载方法匹配'... ApplyFunc(IDoubleArray,IDoubleArray,System.Func )'有一些无效的论点......'? – manji 2011-04-15 09:27:20

+0

嗯,是的,我确定:D – Klark 2011-04-15 09:28:57

回答

1

解决。问题是目标不是.NET 4.0。