繁体   English   中英

如何在C#中访问它?

[英]How can I access this in C#?

private void LoadSubforums(Forum forum, XElement subforumsXML)
{
    forum.Subforums = (from forumItem in subforumsXML.Descendants("forum")
                      select new Subforum()
                      {
                          ID = (string)forumItem.Element("id"),
                          Name = (string)forumItem.Element("name"),
                          URL = (string)forumItem.Element("url"),
                          Description = (string)forumItem.Element("description"),
                          Type = (string)forumItem.Element("type"),
                          TopicCount = (string)forumItem.Element("topics"),
                          ReplyCount = (string)forumItem.Element("replies"),
                          LastPost = ParseLastPost(forumItem.Element("lastpost")),
                          IsRedirect = How can I access the LastPost attribute here? :S
                      }).ToList();
}
}

Subforum类的IsRedirect属性取决于LastPost属性中的值。

我可以从Linq查询中访问此属性吗?

编辑:

这就是我想要做的:

forum.Subforums = (from forumItem in subforumsXML.Descendants("forum")
                               let lastPost = ParseLastPost(forumItem.Element("lastpost"))
                               select new Subforum()
                               {
                                   ID = (string)forumItem.Element("id"),
                                   Name = (string)forumItem.Element("name"),
                                   URL = (string)forumItem.Element("url"),
                                   Description = (string)forumItem.Element("description"),
                                   Type = (string)forumItem.Element("type"),
                                   TopicCount = (string)forumItem.Element("topics"),
                                   ReplyCount = (string)forumItem.Element("replies"),
                                   LastPost = lastPost,
                                   IsRedirect = if(lastPost.ID == null) ? true ; false
                               }).ToList();

但是此代码无法编译。

forum.Subforums = (from forumItem in subforumsXML.Descendants("forum")
                   let lastPost = ParseLastPost(forumItem.Element("lastpost"))
                   select new Subforum()
                   {
                       ID = (string)forumItem.Element("id"),
                       Name = (string)forumItem.Element("name"),
                       URL = (string)forumItem.Element("url"),
                       Description = (string)forumItem.Element("description"),
                       Type = (string)forumItem.Element("type"),
                       TopicCount = (string)forumItem.Element("topics"),
                       ReplyCount = (string)forumItem.Element("replies"),
                       LastPost = lastPost,
                       IsRedirect = !string.IsNullOrEmpty(lastPost)
                   }).ToList();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM