检查Action输入参数是否为空

时间:2014-05-07 15:43:16

标签: c#

我有一个带有下面签名的方法。我进行检查以确保输入不为空。但是,对于作为Action的输入参数,它始终将输入视为null。对Action Type的输入执行此检查的更好方法是什么?

任何建议将不胜感激。

public void DeleteTreeValue(TreeValue treeValue, Action<Exception> callback)
{
    if (treeValue == null)
        throw new ArgumentNullException("treeValue");

    //This is always throwing the ArugmentNullException even when the callback is passed
    if (callback == null)
        throw new ArgumentNullException("callback");

编辑:这是一个如何被调用的例子。我在调试时可以看到回调中的方法,但是在arg检查中这仍然可以看作是null,这可能是正在发生的事情。

[Test]
public void DeleteValueShouldThowExceptionWhenValueDoesNotExist()
{
    var myValue = new TreeValue {TreeValueId = -1};
    _dataService.DeleteTreeValue(myValue, exception =>
    {
        Assert.IsNotNull(exception);

    });
}

0 个答案:

没有答案