如何调用泛型lambda表达式?

时间:2010-07-30 15:04:07

标签: c# lambda compilation invoke

private void ExecuteCommand(Expression<Func<bool>> command)
{
    bool success = command.Compile().Invoke();
}

private void Test()
{
    ExecuteCommand(() => _gc.ChargeCancellation(""));
}

使用此代码,我得到了NullReferenceException。

3 个答案:

答案 0 :(得分:3)

_gc是否有空?或者ChargeCancellation本身可能会抛出异常?否则它应该可以正常工作。

答案 1 :(得分:2)

查看堆栈跟踪或在此行添加断点:

ExecuteCommand(() => _gc.ChargeCancellation(""));

根据您发布的信息,此社区中的任何人都无法真正帮助您超越一般性评论。

答案 2 :(得分:1)

由于您没有显示初始化_gc的代码,我的猜测就是您的NullReferenceException正在发生的地方。

_gc.ChargeCancellation(内的任何内容或其他内容都会抛出异常。

如果您包含Exception的全文,那么它可能会有所帮助,因此我们确切知道抛出异常的位置。