C# 使用自定义方法的两个实例会导致“调用不明确”
我在编译代码时遇到问题,编译器出现以下错误: 以下方法或属性之间的调用不明确:“ActionTracker.DataAccess.GetSpecialtyCodestring”和ActionTracker.DataAccess.GetSpecialtyCode 我只是在一个新方法中再次使用我的自定义方法。我使用了与此完全相同的另一种方法,我没有得到任何歧义错误。有人能帮忙吗?我是n00b:DC# 使用自定义方法的两个实例会导致“调用不明确”,c#,C#,我在编译代码时遇到问题,编译器出现以下错误: 以下方法或属性之间的调用不明确:“ActionTracker.DataAccess.GetSpecialtyCodestring”和ActionTracker.DataAccess.GetSpecialtyCode 我只是在一个新方法中再次使用我的自定义方法。我使用了与此完全相同的另一种方法,我没有得到任何歧义错误。有人能帮忙吗?我是n00b:D namespace ActionTracker { using ... internal cl
namespace ActionTracker
{
using ...
internal class DataAccess
{
internal static string GetSpecialtyCode(string name)
{
OleDbConnection speccconn = SetUpConnection();
speccconn.Open();
OleDbCommand specccmd = new OleDbCommand("SELECT Specialty_Code FROM tbl_specialty WHERE Specialty_Description = @Specialty_Description", speccconn);
specccmd.Parameters.Add("@Specialty_Description", OleDbType.VarWChar, 255).Value = name;
string code = (string)specccmd.ExecuteScalar();
speccconn.Close();
return code;
}
internal static string AddVisitSpecialty(string trust_name, DateTime visit_date, string visit_type, List<string> specialties)
{
int visit_id = GetVisitID(trust_name, visit_date, visit_type);
OleDbConnection visitspeccon = SetUpConnection();
visitspeccon.Open();
foreach (string element in specialties)
{
string specialty_code = new GetSpecialtyCode(element);
OleDbCommand visitspeccmmd = new OleDbCommand("INSERT INTO tbl_visit_specialty (Visit_ID, Visit_Specialty) VALUES"
+ "(@visit_id, @visit_specialty)", visitspeccon);
visitspeccmmd.Parameters.Add("@visit_id", OleDbType.Numeric).Value = visit_id;
visitspeccmmd.Parameters.Add("@visit_specialty", OleDbType.VarWChar, 255).Value = specialty_code;
visitspeccmmd.ExecuteNonQuery();
}
visitspeccon.Close();
string message = "Specialty(s) added to visit";
return message;
}
internal static string DeleteVisitSpecialty(int visit_id, List<string> specialty_list)
{
OleDbConnection delvscon = SetUpConnection();
delvscon.Open();
List<string> specialty_codes = new List<string>();
foreach (string element in specialty_list)
{
string specialty_code = GetSpecialtyCode(element);
OleDbCommand delvscmd = new OleDbCommand("DELETE FROM tbl_visit_specilaty WHERE Visit_ID = @visit_id AND Visit_Specialty = @visit_specialty", delvscon);
delvscmd.Parameters.Add("@visit_id", OleDbType.Numeric).Value = visit_id;
delvscmd.Parameters.Add("@visit_specialty", OleDbType.VarWChar, 255).Value = specialty_code;
delvscmd.ExecuteNonQuery();
}
delvscon.Close();
string message = "Specialty(s) deleted";
return message;
}
}
}
我认为你的问题在于AddVisitSpecialty的这句话:
string specialty_code = new GetSpecialtyCode(element);
查看如果删除该新代码会发生什么。是否有名为GetSpecialtyCode或类似的属性?您在两个不同的位置定义了GetSpecialtyCode。而另一个定义不在您复制的代码块中。我没有任何属性在选中MatchCase选项的GetSpecialtyCode的文件中查找,在整个解决方案中。