c# - 已经定义了一个使用相同参数类型调用的成员 c#

标签 c#

正如标题所说,我有这个错误already defined a member called with the same parameter types c#

我研究了多个相同的问题,但它们都说明了为什么会发生以及如何处理(将方法名称更改为其他名称)但我不想将方法名称更改为其他名称,因为它是相同的方法但是参数不同,所以我只想绕过它。

我有两种方法:

public static List<int> Lista(int vrDok)
{
    List<int> list = new List<int>();
    using (FbConnection con = new FbConnection(M.Baza.connectionKomercijalno2018))
    {
        con.Open();
        using (FbCommand cmd = new FbCommand("SELECT BRDOK FROM DOKUMENT WHERE VRDOK = @VrDok ORDER BY DATUM ASC", con))
        {
            cmd.Parameters.AddWithValue("@VrDok", vrDok);

            FbDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                list.Add(Convert.ToInt32(dr[0]));
            }
        }
    }
    return list;
}
public static List<int> Lista(int magacinId)
{
    List<int> list = new List<int>();
    using (FbConnection con = new FbConnection(M.Baza.connectionKomercijalno2018))
    {
        con.Open();
        using (FbCommand cmd = new FbCommand("SELECT BRDOK FROM DOKUMENT WHERE MAGACINID = @MID ORDER BY DATUM ASC", con))
        {
            cmd.Parameters.AddWithValue("@MID", magacinId);

            FbDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                list.Add(Convert.ToInt32(dr[0]));
            }
        }
    }
    return list;
}

如您所见,它们完全相同,但参数不同,这会给我带来错误。

我怎样才能绕过它?

最佳答案

Davide 的任何建议都会奏效。另一种选择是只使用一个采用 ID 和参数名称的方法,如下所示:

public static List<int> Lista(int id,string paramName)
{
    List<int> list = new List<int>();
    using (FbConnection con = new FbConnection(M.Baza.connectionKomercijalno2018))
    {
        con.Open();
        using (FbCommand cmd = new FbCommand("SELECT BRDOK FROM DOKUMENT WHERE MAGACINID = @MID ORDER BY DATUM ASC", con))
        {
            cmd.Parameters.AddWithValue(paramName, id);

            FbDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                list.Add(Convert.ToInt32(dr[0]));
            }
        }
    }
    return list;
}

因为这两种方法中的所有内容都是相同的,只是参数名称发生了变化。

关于c# - 已经定义了一个使用相同参数类型调用的成员 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50737606/

相关文章:

c# - 使用两个参数启动线程

c# - 替换运行时动态查找程序集的位置

c# - 类型名称后的符号 '?' 是什么意思

c# - 使用 web.config 时,配置类不可用

c# - Razor 页面运行时编译不起作用

c# - 仅检查数组或列表中的特定 boolean 值

c# - 使用数据访问层为 3 层安排 dotnet 核心应用程序

c# - 如何使用 try-catch block 连接到 Entity Framework ?

C# 压缩和 JavaScript 解压

c# - 如何将数据从 SQLiteDataTable 传输到 TextBox