使用visual studio这个错误是随机发生的。我试图清理构建但没有成功。该类可以查看该文件夹中包含的类的所有其他构造函数,但是日期。例如,它可以看到连接构造函数
SqlDataReader rdr = cmd.ExecuteReader();
if (!(rdr == null || !rdr.HasRows))
{
while (rdr.Read())
{
Dates dates = new Dates(rdr.GetGuid(0), rdr.GetString(1),
rdr.GetDateTime(2), rdr.GetString(3), rdr.GetString(4),
rdr.GetDateTime(5));
yield return dates;
}
}
日期等级
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace GoDating.Models
{
public class Dates
{
public Guid id;
public string firstname;
public DateTime dob;
public string Image;
public string dateLocation;
public DateTime date;
public Dates(Guid id, string firstname, DateTime dob, string Image,string dateLocation,DateTime date)
{
this.id = id;
this.firstname = firstname;
this.dob = dob;
this.Image = Image;
this.dateLocation = dateLocation;
this.date = date;
}
}
}
连接类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace GoDating.Models
{
public class Connection
{
public Guid id;
public string firstname;
public DateTime dob;
public string Image;
public Connection(Guid id, string firstname, DateTime dob, string Image)
{
this.id = id;
this.firstname = firstname;
this.dob = dob;
this.Image = Image;
}
}
}
错误消息
Error 1 'GoDating.Dates' does not contain a constructor that takes 6 arguments C:\Users\###\SkyDrive\GODating\GODating\GoDating\Database_Operations\DateDAO.cs 52 39 GoDating
答案 0 :(得分:5)
替换
Dates dates = new Dates(
rdr.GetGuid(0),
rdr.GetString(1),
rdr.GetDateTime(2),
rdr.GetString(3),
rdr.GetString(4),
rdr.GetDateTime(5));
与
GoDating.Models.Dates dates = new GoDating.Models.Dates(
rdr.GetGuid(0),
rdr.GetString(1),
rdr.GetDateTime(2),
rdr.GetString(3),
rdr.GetString(4),
rdr.GetDateTime(5));
现在它正在解析为GoDating.Dates
,它必须没有包含6个参数的构造函数。
或者正如您已经想到的那样,为您的班级使用唯一的名称。
答案 1 :(得分:1)
使用完全限定名称或完整程序集名称,如
GoDating.Models.Dates dates = new GoDating.Models.Dates(rdr.GetGuid(0),rdr.GetString(1), rdr.GetDateTime(2),rdr.GetString(3),rdr.GetString(4), rdr.GetDateTime(5));