Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.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# 为什么我的列表对象不包含“添加”的定义?_C#_Asp.net Mvc - Fatal编程技术网

C# 为什么我的列表对象不包含“添加”的定义?

C# 为什么我的列表对象不包含“添加”的定义?,c#,asp.net-mvc,C#,Asp.net Mvc,我目前正试图将一个数据集从SQLServer中获取到一个列表中,以便在页面上显示它。老实说,我在这里看过很多答案,每一次不同的尝试都会给我带来不同的错误 据我所知,这应该行得通。ScriptList是一个列表,应该具有添加功能。然而,事实并非如此。这是我目前的代码: public ScriptList Index() { var scriptList = new ScriptList(); //List<ScriptItem> scr

我目前正试图将一个数据集从SQLServer中获取到一个列表中,以便在页面上显示它。老实说,我在这里看过很多答案,每一次不同的尝试都会给我带来不同的错误

据我所知,这应该行得通。ScriptList是一个列表,应该具有添加功能。然而,事实并非如此。这是我目前的代码:

    public ScriptList Index()
    {
        var scriptList = new ScriptList();

        //List<ScriptItem> scriptlst = new List<ScriptItem>();

        string connectionString = _configuration["ConnectionString:localhost"];

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            string statement = "SELECT ScriptGUID, ScriptName, ScriptDescription, DateAdded FROM dbo.Scropts;";
            SqlCommand command = new SqlCommand(statement, connection);
            connection.Open();

            using (SqlDataReader reader = command.ExecuteReader())
            {
                while(reader.Read())
                {
                    scriptList.Add<ScriptItem>(new ScriptItem{GUID = Convert.ToString(reader["ScriptGUID"]),
                                                              Name = Convert.ToString(reader["ScriptName"]),
                                                              ShortDescription = Convert.ToString(reader["ScriptDescription"]),
                                                              DateAdded = Convert.ToDateTime(reader["DateAdded"])});

                }
            }


        }

        return scriptList;
    }

}
public class ScriptList
{
    public List<ScriptItem> ScriptItems {get;set;}
}
public class ScriptItem
{
    public string GUID {get;set;}
    public string Name {get;set;}
    public string ShortDescription {get;set;}
    public DateTime DateAdded {get;set;}
}
这给了我以下错误:

“ScriptList”不包含“Add”的定义,最佳扩展方法重载“ConfigurationExtensions.AddConfigurationBuilder,Action”需要“IConfigurationBuilder”类型的接收器

我尝试将ScriptList的定义更改为List ScriptList=new List;但是,这会导致以下错误:

无法将类型“System.Collections.Generic.List”隐式转换为“asp.Pages.ScriptList”


我真的不明白这里怎么了。为什么scriptList没有添加功能,为什么scriptList仍然有添加功能,尽管两者声明为列表,但显然不相同?

否,您创建了一个具有列表成员的类。这并不意味着您的类继承了该成员的所有成员


您只需查找scriptList.ScriptItems.Add,请注意添加的ScriptItems。这是您的列表,而不是ScriptList类。

您可能希望在示例中使用ScriptList.ScriptItems.Add

您的列表是在ScriptList类中定义的,因此您需要执行以下操作:

scriptList.ScriptItems.Add();