List <t>出错,“使用泛型类型'System.Collections.Generic.List'需要1个类型参数”</t>

时间:2011-04-30 00:16:53

标签: asp.net-mvc-2

在这个购物部分工作正在发生诡异。当我去填充我的lixt时,我得到了错误:

  

使用泛型类型   'System.Collections.Generic.List'   需要1个类型参数

我已经在其他几个类上完成了这个但是没有给出这个错误。这是导致错误的类:

StoreItem.cs

public class StoreItemViewModel
{
    public StoreItemViewModel()
    {
        this.StoreItems = GetStoreItemList(null);
    }

    private SelectList GetStoreItemList(string selectedValue)
    {
        List<StoreItems> list = new List<StoreItems>(); 
        IRepository<GodsCreationTaxidermy.Data.StoreItem> storeItems = ObjectFactory.GetInstance<IRepository<StoreItem>>();

        foreach (StoreItem item in storeItems.GetAll())
        {
            List.Add(new StoreItems <= error on this line
            {
                Key = item.Key,
                CategoryKey = item.CategoryKey,
                ItemName = item.ItemName,
                ItemDescription = item.ItemDescription,
                ItemPriced = item.ItemPrice,
                DatePosted = item.DatePosted,
            });
        }

        return new SelectList(list, "StoreItemID", "StoreItemName", selectedValue);
    }

    [UIHint("StoreItems")]
    public SelectList StoreItems { get; private set; }

    [Required(ErrorMessage = "Store Item is required")]
    public string StoreItem { get; set; }
}

我可以展示其他完成这项工作的课程(可能会有一个新的眼睛可以在这里),这里是其中一个:

AnimalList.cs

public class AnimalsList
{
    public AnimalsList()
    {
        this.Animals = GetanimalList(null); 
    }

    private SelectList GetanimalList(string selectedValue)
    {

        List<Animal> list = new List<Animal>();
        IRepository<AnimalList> animals = ObjectFactory.GetInstance<IRepository<AnimalList>>();

        foreach (AnimalList animal in animals.GetAll())
        {
            list.Add(new Animal
            {
                AnimalId = animal.animal_id,
                AnimalName = animal.animal_name,
                IsBird = Convert.ToBoolean(animal.is_bird),
                MountType = animal.mount_type
            });
        }

        return new SelectList(list, "AnimalId", "AnimalName", selectedValue);
    }

    [UIHint("Animal")]
    public SelectList Animals { get; private set; }

    [Required(ErrorMessage = "Animal is required")]
    public string Animal { get; set; }
}

有人可以告诉我,我在这里做错了。我在过去的几天里看到了很多非常模糊的错误(我解决的最多)但是其他的我不得不寻求帮助。如果你需要更多代码,那么请告诉我:)

2 个答案:

答案 0 :(得分:2)

列表是大写的,因此您引用的是Class而不是实例“list”。

您应该考虑将变量名称更改为有用的名称,并且不要太模糊或容易出错,这样您就可以更快地捕获它们,或者完全阻止它们。

答案 1 :(得分:0)

在您看到 List.Add 的代码中,这不起作用。一旦我把它做成小写,一切都很好。

相关问题