Как использовать LINQ для создания объекта, а также инициализировать список внутри этого объекта? (Кроме того, я пытаюсь создать неизменяемый объект.) Я обращаюсь к веб-службе XML.LINQ to Objects - Инициализирующие списки
Например, у меня есть класс с несколькими свойствами. Однако у меня также есть некоторые частные списки в классе.
public class MyClass
{
public string SomeProperty { get; private set; }
public string AnotherProperty { get; private set; }
internal List<Result> ResultSet1 { get; set; }
internal List<Result> ResultSet2 { get; set; }
public IEnumerable<Result> GetResultSet1()
{
return ResultSet1;
}
//Constructor here to set the private properties eg: this.SomeProperty = someProperty;
//etc.
}
И тогда я Result.cs
:
public class Result
{
public string YetAnotherProperty { get; private set; }
//etc.
}
До сих пор я могу с помощью LINQ для чтения XML и создать «MyClass» объект, а затем установить его свойства через конструктор. Тем не менее, я не знаю, как либо:
- Инициализирует
List<Result>
внутри запроса LINQ - Как изменить свойство
Result
в списке внутри запроса LINQ
Это LINQ у меня до сих пор:
//Use the contents of XML nodes/elements as the arguments for the constructor:
var query = from i in document.Descendants("response")
select new MyClass
(
(string)i.Element("some").Element("property"),
(string)i.Element("another").Element("property")
)
Мой вопрос: я не знаю достаточно о LI NQ или создавать объекты с LINQ, чтобы знать, как инициализировать списки в объекте, который я пытаюсь создать. Как мне это сделать? Как добавить элементы в ResultSet1
из LINQ?
Мне нравится это больше, чем мое, это более читаемо – Jonesopolis