0

我目前有三个模型类:

public class MarketReport
{
    public MarketReportAbbrStores LISTOFSTORESUMMARY {get; set;}

}

public class MarketReportAbbrStores : List<AbbrStore>
{
    public AbbrStore abbrStore  { get; set; }
}

    public class AbbrStore
{
    public string StoreName { get; set; }
    public int MemberCount { get; set; }
    public int LeaderCount { get; set; }
    public int ActivistCount { get; set; }
}

现在,我不知道我是否正确地执行了上述操作,但我想在 MarketReport 中填充列表

        foreach (var store in stores)            
        {

            AbbrStore abbrstore = new AbbrStore();
            abbrstore.StoreName = store;
            marketInformation.LISTOFSTORESUMMARY.Add(abbrstore);
            //ERROR: Object reference not set to an instance of an object.
        }
4

1 回答 1

3

这里有几个问题:

  1. 您的Leaders类型List本身就是一个 - 这不应该是一个集合类型,因为它描述的是一个单一的实体,所以只是Leader
  2. leaderlist应该使用 PascalCase -Leaders
  3. leaderlist是一个实例属性,因此您需要实例化 aMarketReport才能开始填充该列表
  4. leaderlistList<Leader>如果您没有定义集合类型,则应该是 a (参见 1)
  5. List<T>有一个Add方法,你应该用它来添加新的实例Leader
  6. 您需要先实例化一个新列表并将其分配给Leaders属性,然后才能开始添加它

建议更改:

public class Leader
{
   public string Name { get; set; }
   public string Precinct { get; set; }
}

public class MarketReport
{
   public List<Leader> Leaders { get; set }
}

this.Leaders = new List<Leader>();
foreach (var store in stores)
{
    var leader = new Leader { ... };
    this.Leaders.Add(leader);
}
于 2012-11-02T22:57:18.723 回答