C#函数调用不同的方法

C#函数调用不同的方法,c#,C#,我创建了一个WCF服务和一个WindowsFormApp。在服务中,我有3个功能。其中两个接受一个整数作为参数并返回一个整数。另一个接受一个字符串并返回一个字符串 当我尝试调用两个取整数的函数(在WindowsFormApp中)时,程序认为我在尝试调用“Reference.cs”中的其他函数,而不是从我创建的服务调用。string函数没有这个问题,工作正常,但是2个int函数调用了“Reference.cs”中的其他一些void函数 这些是我提到的函数,也是我想调用的函数。此文件为“Servic

我创建了一个WCF服务和一个WindowsFormApp。在服务中,我有3个功能。其中两个接受一个整数作为参数并返回一个整数。另一个接受一个字符串并返回一个字符串

当我尝试调用两个取整数的函数(在WindowsFormApp中)时,程序认为我在尝试调用“Reference.cs”中的其他函数,而不是从我创建的服务调用。string函数没有这个问题,工作正常,但是2个int函数调用了“Reference.cs”中的其他一些void函数

这些是我提到的函数,也是我想调用的函数。此文件为“Service1.svc.cs” `

这是它正在调用的函数(这不是我想要的)。这在“Reference.cs”中

我花了好几个小时试图解决这个问题,但无济于事。有人能帮忙吗

调用函数的方式:在WindowsFormApp中添加一个按钮并双击它之后,在button方法中,我有
service1serv=newservice1()。然后,如果我要编写
serv.sort(“some string”)
,它将引用第一个代码块中的函数,这正是我想要的。如果我要编写
serv.f2c(0)
,就会出现一个错误,说我缺少参数,仔细检查后,它会告诉我,我指的是第二个代码块中的函数,这不是我想要的。希望这能提供更多的见解。

使用“添加服务引用”而不是“添加Web引用”


帮助解决了我的问题。

您好。请养成将代码作为文本而不是截图发布的习惯。你知道WCF是如何工作的吗?客户端从不调用服务器代码,而是调用为服务定义的端点。在您的情况下,执行该调用的方法是通过VS为您创建的自动生成代码。请编写您的代码clearly@CamiloTerevinto对不起,我真的不知道WCF是如何工作的。我只是想学习如何创建一个基本的web服务。@EddyYoung这是WCF确定值是否由服务器显式设置的方法(用于区分默认的0和预期的0)
    public int c2f(int c)
    {
        int num = c * 9 / 5 + 32;
        return num;
    }

    public int f2c(int f)
    {
        int num = (f - 32) * 5 / 9;
        return num;
    }

    public string sort(string s)
    {
        String str = String.Join(",", s.Split(',').Select(x => int.Parse(x)).OrderBy(x => x));
        return str;
    }
    public void f2c(int f, [System.Xml.Serialization.XmlIgnoreAttribute()] bool fSpecified, out int f2cResult, [System.Xml.Serialization.XmlIgnoreAttribute()] out bool f2cResultSpecified) {
        object[] results = this.Invoke("f2c", new object[] {
                    f,
                    fSpecified});
        f2cResult = ((int)(results[0]));
        f2cResultSpecified = ((bool)(results[1]));
    }