Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中向web方法传递null#_C# - Fatal编程技术网

C# 在C中向web方法传递null#

C# 在C中向web方法传递null#,c#,C#,我已经给出了一个web服务Url。它的一个方法有一个参数,如果我传递null,它会做一些事情,如果传递int,它会做其他事情。我已经向project添加了一个服务引用。C#不接受向该参数传递null,因为它实现了接受int而不是int的接口?(可为空int) 请告知。您也可以进行可怕的漫游,解析int.MinValue或int.MaxValue。我真的不喜欢这个解决方案,这不是一个最佳实践,但可以做到这一点 例如 public void DoSomething( int numofSomethi

我已经给出了一个web服务Url。它的一个方法有一个参数,如果我传递null,它会做一些事情,如果传递int,它会做其他事情。我已经向project添加了一个服务引用。C#不接受向该参数传递null,因为它实现了接受int而不是int的接口?(可为空int)


请告知。

您也可以进行可怕的漫游,解析int.MinValue或int.MaxValue。我真的不喜欢这个解决方案,这不是一个最佳实践,但可以做到这一点

例如

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

请记住,您的代码更糟糕,因为您使用的是minvalue或maxvalue来表示null。仅当无法更改界面时才执行此操作。

Hi。我不是web服务的编码员。它在web上的某个地方,我应该直接调用它。我试图在生成的接口中更改方法的定义,并将int参数更改为int?但是它引发了一个实现错误。如果Web服务需要一个int,那么您将无法传递null。如果您发现一些walkarround,您将在webservice主机上引发错误。如果它不准备使用空值,我很惊讶你不能绕过它他们自己建议过NULL或时间戳作为int。在PHP中,我可以使用NUSOAP轻松地传递NULL,但是我被困在C实现中。时间戳是int。也许他们认为参数是空的,如果它比某个数字更大。也许你可以请求并简单地传递一些像一个非常大的数字,并希望WebServer。vice会将其视为空值。无论如何,看起来真的很奇怪,这是一个糟糕的做法。这是一个sms web服务。我应该立即传递空值进行发送,或者传递时间戳进行调度。您的情况与此类似吗?