【发布时间】:2018-01-23 14:24:10
【问题描述】:
我正在尝试将动态对象 和 一个动作传递给一个函数。 (下面是一个简单的测试)但是,我得到以下编译时错误:
如果不先将 lambda 表达式转换为委托或表达式树类型,则不能将其用作动态分派操作的参数。
一个或另一个都可以...但不能同时...有帮助吗?
void Test()
{
dynamic obj = new System.Dynamic.ExpandoObject();
obj.A = 1;
obj.B = 2;
Calc(obj, (result) =>
{
Console.Write("Result: " + result);
});
}
void Calc(dynamic obj, Action<int> onComplete)
{
onComplete((int)obj.A + (int)obj.B);
}
【问题讨论】: