Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法使用集合初始值设定项初始化类型,因为它未实现ienumerable_C#_.net_Ienumerable - Fatal编程技术网

C# 无法使用集合初始值设定项初始化类型,因为它未实现ienumerable

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

我是一名相当初级的C#开发人员,因此如果这很简单,请原谅,但我在下面的代码行中遇到了以下错误“
无效的初始值设定项成员声明符”

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
方法需要接受该参数作为参数,则不能删除该参数谢谢你的帮助:)