2011-07-10 40 views
1

我创建了这个类:语法问题

public class PageMeta 
{ 
    public string User { get; set; } 
    public string Title { get; set; } 
    public string Description { get; set; } 
    public string Keywords { get; set; } 
    public string Url { get; set; } 
    public string UrlShort { get; set; } 
    public string InfoBox { get; set; } 
} 

然后这一模式:

public class HomeIndexViewModel 
    { 
     public HomeIndexViewModel() 
     { 
      PageMeta = new PageMeta(); 
     } 
     public PageMeta PageMeta { get; set; } 
    } 

并试图利用这样的:

var homeIndex = new HomeIndexViewModel { // 1 
    PageMeta.Title = "ABC" // 2 
}; 

但它给了我一个错误VS2010说:

  • “无法收集 初始化初始化类型 HomeIndexViewModel因为它不 实现IEnumberable”“
  • 无法解析符号‘添加’< - 消息是红色,并在那里我 标记// 2

我希望有人能给我一些建议。我曾尝试注释掉构造函数public HomeIndexViewModel(),但这并没有帮助我,因为我仍然得到相同的消息。

回答

2

下面是正确的语法使用在C#中object initializer

var homeIndex = new HomeIndexViewModel 
{ 
    PageMeta = new PageMeta 
    { 
     Title = "ABC", 
     User = "DEF" 
    } 
}; 
+0

感谢达林。我认为另一张海报的内容没有意义,你确认了这一点。 – Maricel