编译错误 - 已定义成员

时间:2013-02-12 11:57:04

标签: c# .net

帮助并澄清我......为什么会发生错误?

class Program
{
    static void Main(string[] args)
    {       

    }

    public int GetNames(int id)
    {
        return id;
    }

    public float GetNames(int id)
    {
        return (float)id;
    }

    public String GetNames(string id)
    {
        return id;
    }
}

1 个答案:

答案 0 :(得分:11)

您不能拥有具有相同签名的方法。返回值不是方法签名的一部分。签名由方法名称和输入参数定义。所以你有两个方法具有相同的签名:

GetNames(int)

请参阅有关msdn的Methods文章

  

方法的返回类型不是方法签名的一部分   出于方法重载的目的。

解决方案 - 使签名不同(重命名方法,更改方法的参数类型或更改参数编号)