无法将类型 'void' 隐式转换为 Web 服务'string'



我是C#的新手,我不明白为什么会出现此错误。这是我的代码:

    public partial class Window : System.Windows.Forms.Form
    {
    WebServ.ItemDimWs con = new WebServ.ItemDimWs();
    decimal length, width, height, weight, rescode;
    string user, article, res;
    public Window()
    {
        InitializeComponent();
    }
    private void Window_Load(object sender, EventArgs e)
    {
    }

    public void btn_send_Click(object sender, EventArgs e)
    {
        length = Convert.ToDecimal(tb_lenght.Text.ToString());
        width = Convert.ToDecimal(tb_width.Text.ToString());
        height = Convert.ToDecimal(tb_height.Text.ToString());
        weight = Convert.ToDecimal(tb_weight.Text.ToString());
        article = tb_article.Text;
        user = tb_user.Text;
        string result = con.setItemDims(article, length, width, height, weight, weight, "EA", "KG", "CM", user, ref rescode, ref res);
        MessageBox.Show(result);
        MessageBox.Show("Resp:" + rescode + res + "!!!");
    }
}

我需要向网络服务发送一些信息并收到答案。

WebServ.ItemDimWs.setItemDims 不返回任何内容,因此无法将输出分配给字符串。

所以与其这样做

string result = con.setItemDims(article, length, 
        width, height, weight, weight, "EA", "KG", "CM", 
        user, ref rescode, ref res);

你可以去

con.setItemDims(article, length, 
        width, height, weight, weight, "EA", "KG", "CM", 
        user, ref rescode, ref res);

您正在将方法的返回值setItemDims分配给字符串变量,但该方法无效(无返回值(

注意:不确定setItemDims的所有参数是什么,我可以看到您正在传递ref res,这可能是正在设置的结果。再次,只是从命名约定中猜测?

由于 Web 服务方法不返回任何内容,因此不能像这样调用。

字符串结果 = con.setItemDims(文章, 长度, 宽度, 高度, 重量, 重量, "EA", "KG", "CM", user, ref rescode, ref res(;

如果您希望输出结果,则可以以结果将为 out 参数的方式编写服务。(如果您有权访问 Web 服务代码。

相关内容

  • 没有找到相关文章

最新更新