Как вызвать универсальные лямбда-выражения?

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

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

С этим кодом я получил NullReferenceException.

0
задан Rookian 30 July 2010 в 15:04
поделиться

3 ответа

Просмотрите трассировку стека или добавьте точку останова в этой строке:

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

Учитывая информацию, которую вы опубликовали, нет никаких шансов, что кто-то в этом сообществе действительно поможет вы за пределами общих комментариев.

2
ответ дан 4 September 2019 в 00:48
поделиться

Является ли _gc нулевым случайно? Или, возможно, сам ChargeCancellation выдает исключение? В противном случае он должен работать нормально.

3
ответ дан 4 September 2019 в 00:48
поделиться

Поскольку вы не показали код для инициализации _gc, я предполагаю, что именно там происходит NullReferenceException.

Либо что-то внутри _gc.ChargeCancellation() вызывает исключение.

Возможно, вам поможет, если вы включите полный текст исключения, чтобы мы точно знали, где именно возникает исключение.

1
ответ дан 4 September 2019 в 00:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: