[英]Error passing dynamic method: cannot use a method group as argument
我收到以下錯誤:“無法將方法組用作動態調度的操作的參數”:
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);
}
但是現在錯誤消息是:“無法從“方法組”轉換為“功能”
在您的最終代碼中查看以下行:
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
),您的代碼即可使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.