[英]Easiest way to create a delegate when the method contains a 'ref' parameter
假設我有這種方法:
public static object CallMethod(Delegate method, params object[] args)
{
//more logic
return method.DynamicInvoke(args);
}
以下這個在大多數情況下運行良好,稱之為(簡單示例):
Delegate methodCall = new Func<decimal,decimal>(Math.Ceiling);
object callResult = CallMethod(methodCall, myNumber);
但是,我遇到了一種情況,我需要在一個接受'ref'參數(WCF服務調用)的方法上使用它,這是Func類無法處理的。
Delegate methodCall =
new Func<MyService.InputClass, MyService.CallResult>(service.DoWork);
由於我沒有很多處理代表的經驗,為上述方法創建委托的最簡單方法是什么?
這不是我的應用程序,所以我沒有一種簡單的方法來測試它(我只是被問到我是否知道解決問題的方法),但這看起來應該有用嗎?
Delegate methodCall = new Func<MyService.CallResult>(delegate() { return service.DoWork(ref myInput)});
object callResult = CallMethod(methodCall, null);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.