我收到以下错误:“无法使用方法组作为动态调度操作的参数”
public static void Convert(dynamic o)
{
clsQRcode.ConvertToQRs(o, SendSignalR); // error is here
}
public static void SendSignalR(dynamic o)
{
.... do stuff ....
}
在clsQRcode.ConvertToQRs中:
public static void ConvertToQRs(dynamic o, Action<dynamic> SSR)
{
... do stuff to o
SSR(o);
}
那么,我没错吗?
更改的代码:
我删除了所有对动力学的引用,现在有以下类似错误的代码:
public static void ConvertToQRs(string jsonString)
{
clsQRcode.ConvertToQRs(jsonString, SendSignalR); // error still here
}
public static string SendSignalR(string org_int, string person_int, string code, string message, string sCode = "")
{
... do stuff ...
}
将clsQRcode更改为:
public static void ConvertToQRs(string jsonString, Func<string, string, string, string, string> SSR)
{
... do the work ...
SSR(org_int, person_int, function, message);
}
但是现在错误消息是:“无法从'方法组'转换为'功能
答案 0 :(得分:1)
在您的最终代码中查看以下行:
public static string SendSignalR(string org_int, string person_int, string code, string message, string sCode = "")
此方法也接受5个string
参数并返回string
,因此它是Func<string, string, string, string, string, string>
(前5个string
-输入参数的类型,最后一个-返回值的类型),而在这里
public static void ConvertToQRs(string jsonString, Func<string, string, string, string, string> SSR)
SSR
是Func<string, string, string, string, string>
(请注意,只有5 string
,而不是6)。将此行替换为
public static void ConvertToQRs(string jsonString, Func<string, string, string, string, string, string> SSR)
(6 string
),您的代码将可用。