我有这样的代码:不知道如何添加我的项目列出<myType>
public List<UserTrainingModules> GetTrainingModulesForUser(int userId)
{
List<UserTrainingModules> trainingModules = new List<UserTrainingModules>();
var modules = UserRepository.GetTrainingModulesForUser(userId);
trainingModules.Add(modules); //not correct error is "invalid arguments"
return trainingModules;
}
我喜欢的类型UserTrainingModules:
public class UserTrainingModules
{
public virtual int userTrainingModuleId { get; set; }
public virtual string title { get; set; }
}
我的方法GetTrainingModulesForUser:
public List<UserTrainingModules> GetTrainingModulesForUser(int userId)
{
using (SqlConnection conn = new SqlConnection(ZincModelContainer.CONNECTIONSTRING))
{
using (SqlCommand cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.CommandText = "[Zinc].[GetTrainingModulesForUser]";
SqlParameter param = new SqlParameter("@UserId", System.Data.SqlDbType.Int);
param.Value = userId;
cmd.Parameters.Add(param);
using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
adapter.Fill(dt);
ICollection<UserTrainingModules> moduleDetail = new List<UserTrainingModules>(); //not sure what i must have here
foreach (DataRow row in dt.Rows)
{
var moduleId = Convert.ToInt32(row["TrainingModuleArtifactScormModules_TrainingModuleArtifactId"]); //this line not correct
var title = row["Title"]; //not correct either
moduleDetail.Add(moduleId,title); //error is no overload method "add" takes 2 arguments
}
return moduleDetail;
}
}
}
}
谁能告诉我在做什么错误? 感谢
你能告诉别人什么,此代码会发生什么?你遇到了什么错误?? –
使用'AddRange',只要你的方法返回项目列表。从另一方面来说,你不需要实例化模块变量,只要它会被立即覆盖,你可以做'var trainingModules = UserRepository.GetTrainingModulesForUser(userId)' – Giedrius