C#函数调用其他方法

时间:2018-09-01 20:12:37

标签: c#

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

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

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

    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;
    }

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

    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]));
    }

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

我如何调用函数:将按钮添加到WindowsFormApp并双击后,在按钮方法中,我有Service1 serv = new Service1();。然后,如果我要编写serv.sort("some string"),它将引用我想要的第一个代码块中的函数。如果我要编写serv.f2c(0),则会出现一个错误,提示我缺少参数,并且经过仔细检查,它告诉我我是在第二个代码块中引用该函数,这不是我想要的。希望这能提供更多的见识。

1 个答案:

答案 0 :(得分:0)

使用“添加服务引用”代替“添加Web引用”。

This question帮助解决了我的问题。

相关问题