2

我已经提供了一个网络服务 URL。它的一个方法有一个论点,如果我传递 null 它会做一些事情,如果传递 int 做其他事情。我添加了对项目的服务引用。C# 不接受将 null 传递给该参数,因为它已经实现了接受 int 而不是 int 的接口?(可为空的整数)。

请指教。

4

1 回答 1

0

你也可以做一个可怕的 walkarround,解析 int.MinValue 或 int.MaxValue。我真的不喜欢那个解决方案,这不是最佳实践,但可以解决问题。

例如

public void DoSomething( int numofSomething )
{
    if ( numofSomething == int.MinValue )
    {
        // act as if numofSomething is null
    }
    else
    {
        // act as normal
    }
}

请记住,您的代码更糟糕,因为您使用的是最小值或最大值来表示空值。仅当无法更改接口时才执行此操作。

于 2012-12-01T14:54:33.107 回答