C# 无法使用集合初始值设定项初始化类型,因为它未实现ienumerable
我是一名相当初级的C#开发人员,因此如果这很简单,请原谅,但我在下面的代码行中遇到了以下错误“C# 无法使用集合初始值设定项初始化类型,因为它未实现ienumerable,c#,.net,ienumerable,C#,.net,Ienumerable,我是一名相当初级的C#开发人员,因此如果这很简单,请原谅,但我在下面的代码行中遇到了以下错误“无效的初始值设定项成员声明符”: foreach (DataRow p in data.Rows) { DBTrack top = new DBTrack() /* ===> Error starts here */ { track.TrackID = SQLDataHelper.GetGuid(dataReader, "TrackID"); track.Track
无效的初始值设定项成员声明符”
:
foreach (DataRow p in data.Rows)
{
DBTrack top = new DBTrack()
/* ===> Error starts here */ {
track.TrackID = SQLDataHelper.GetGuid(dataReader, "TrackID");
track.TrackName = SQLDataHelper.GetString(dataReader, "TrackName");
track.ArtistName = SQLDataHelper.GetString(dataReader, "ArtistName");
track.AddedDate = SQLDataHelper.GetDateTime(dataReader, "AddedDate");
};
DBTrackData.Add(top);
}
有人能解释一下这意味着什么,以及我如何处理和实现它来显示数据吗
以下是检查的完整方法:
public static List<DBTrack> GetAllTracksFromReaderDB(IDataReader dataReader)
{
if (DBTrackData == null)
{
DBTrack track = new DBTrack();
System.Data.DataTable data = new System.Data.DataTable();
List<DBTrack> daa = new List<DBTrack>();
DBTrackData = new List<DBTrack>();
foreach (DataRow p in data.Rows)
{
DBTrack top = new DBTrack()
/* ===> Error starts here */ {
track.TrackID = SQLDataHelper.GetGuid(dataReader, "TrackID");
track.TrackName = SQLDataHelper.GetString(dataReader, "TrackName");
track.ArtistName = SQLDataHelper.GetString(dataReader, "ArtistName");
track.AddedDate = SQLDataHelper.GetDateTime(dataReader, "AddedDate");
};
DBTrackData.Add(top);
}
}
return DBTrackData;
}
任何帮助都很好:)谢谢您的语法对于成员初始化无效。您不能实例化
top
并尝试填充track
属性
应该是这样的:
DBTrack top = new DBTrack
{
TrackID = SQLDataHelper.GetGuid(dataReader, "TrackID"),
TrackName = SQLDataHelper.GetString(dataReader, "TrackName"),
ArtistName = SQLDataHelper.GetString(dataReader, "ArtistName"),
AddedDate = SQLDataHelper.GetDateTime(dataReader, "AddedDate")
};
您的语法对于成员初始化无效。您不能实例化
top
并尝试填充track
属性
应该是这样的:
DBTrack top = new DBTrack
{
TrackID = SQLDataHelper.GetGuid(dataReader, "TrackID"),
TrackName = SQLDataHelper.GetString(dataReader, "TrackName"),
ArtistName = SQLDataHelper.GetString(dataReader, "ArtistName"),
AddedDate = SQLDataHelper.GetDateTime(dataReader, "AddedDate")
};
DBTrack是如何定义的?谢谢-它被定义为
public
No,不是访问修饰符,类是如何定义的?向我们展示该类,以便我们可以查看其属性。谢谢-这会有帮助吗公共静态列表DBTrackData=null代码>对不起,如果我误解了:)将分号改为逗号
=>,
DBTrack是如何定义的?谢谢-它被定义为public
否,不是访问修饰符,类是如何定义的?向我们展示该类,以便我们可以查看其属性。谢谢-这会有帮助吗公共静态列表DBTrackData=null代码>对不起,如果我误解了:)将分号改为逗号代码>=>,
谢谢,它解决了我的问题。:)我有一个小问题,在没有dataReader
参数的情况下,如何修改您的代码。。有可能吗?再次感谢您的帮助,它正在工作:)您的意思是如何在没有dataReader参数的情况下复制它?只需正常复制它并删除参数谢谢-我最初尝试过,但我得到以下错误no重载for method takes 1参数
,即TrackID=NSMSQLDataHelper.GetGuid(“TrackID”),
。。只要有可能。如果没有,那就没关系;)再次感谢你的帮助哦,我明白你的意思了。嗯,如果GetGuid
方法需要接受该参数作为参数,则不能删除该参数谢谢你的帮助:)谢谢你,它解决了我的问题我有一个小问题,在没有dataReader
参数的情况下,如何修改您的代码。。有可能吗?再次感谢您的帮助,它正在工作:)您的意思是如何在没有dataReader参数的情况下复制它?只需正常复制它并删除参数谢谢-我最初尝试过,但我得到以下错误no重载for method takes 1参数
,即TrackID=NSMSQLDataHelper.GetGuid(“TrackID”),
。。只要有可能。如果没有,那就没关系;)再次感谢你的帮助哦,我明白你的意思了。嗯,如果GetGuid
方法需要接受该参数作为参数,则不能删除该参数谢谢你的帮助:)