就像标题说我有这个错误 already defines 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;
}
Run Code Online (Sandbox Code Playgroud)
因此,您可以看到它们完全相同但具有不同的参数,它会让我失误.
我怎么能绕过它呢?
它给出错误,因为方法签名是相同的
- Lista(int)
- Lista(int)
参数名称无关紧要.
您可以通过不同方式解决:
- 更改一个方法的名称(例如,ListaByVrDok,ListaByMagician)<= 推荐
- 在另一个类中移动一个方法 - 在一个方法中
添加一个参数
- 在一个方法中将double更改为int
小智 5
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;
}
Run Code Online (Sandbox Code Playgroud)
由于两种方法中的所有内容都相同,只是参数名称发生了变化。
| 归档时间: |
|
| 查看次数: |
1195 次 |
| 最近记录: |