我已经提供了一个网络服务 URL。它的一个方法有一个论点,如果我传递 null 它会做一些事情,如果传递 int 做其他事情。我添加了对项目的服务引用。C# 不接受将 null 传递给该参数,因为它已经实现了接受 int 而不是 int 的接口?(可为空的整数)。
请指教。
我已经提供了一个网络服务 URL。它的一个方法有一个论点,如果我传递 null 它会做一些事情,如果传递 int 做其他事情。我添加了对项目的服务引用。C# 不接受将 null 传递给该参数,因为它已经实现了接受 int 而不是 int 的接口?(可为空的整数)。
请指教。
你也可以做一个可怕的 walkarround,解析 int.MinValue 或 int.MaxValue。我真的不喜欢那个解决方案,这不是最佳实践,但可以解决问题。
例如
public void DoSomething( int numofSomething )
{
if ( numofSomething == int.MinValue )
{
// act as if numofSomething is null
}
else
{
// act as normal
}
}
请记住,您的代码更糟糕,因为您使用的是最小值或最大值来表示空值。仅当无法更改接口时才执行此操作。