![](/img/trans.png)
[英]Pass a lambda expression as a parameter, then execute that lambda with a parameter
[英]Method parameter type to pass a lambda expression prior to execute
我試圖將一些基於接口的抽象改進為遺留代碼,作為依賴注入的初步步驟。 遺留代碼包含我正在努力封裝的lambda用法。 這是現有的lambda用法:
private void MethodAaa(EntityA a, EntityB a, int someInt) {...}
private void MethodBbb(DateTime date, EntityA e) {...}
_commandObjectFromThirdPartyLibrary.Execute(() => MethodAaa(a, b, c));
_commandObjectFromThirdPartyLibrary.Execute(() => MethodBbb(d, e));
我希望通過公共基類方法路由lamda執行,如下所示:
base.CommonExecute( () => MethodAaa(a, b, c) );
base.CommonExecute( () => MethodBbb(d, e) );
base.CommonExecute( Action<???> lamdaExpression )
{
_commandObjectFromThirdPartyLibrary.Execute( lamdaExpression );
}
有人可以提供一個如何正確聲明base.CommonExecute(?)的示例嗎?
非泛型版本的Action是void-void one:
public delegate void Action();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.