Доступ к одноуровневому свойству из набора

У меня есть набор объектов, который заполняется от LINQ, и у меня есть потребность получить доступ к одноуровневому объекту (дата), который будет установлен от уровня UI. Так как я не знаю дату в то время, когда сбор данных заполняется, мне нужен хороший способ получить доступ к свойству даты от каждого из объектов в наборе. Вот моя структура класса, разделенная вниз:

public class TestClass
{
    public DateTime MyDate;
    public List<MySite_ReportResult> Items { get; set; }
}

Подводя итоги, для каждого "MySite_ReportResult", я хочу смочь получить доступ к "MyDate". У кого-либо есть хорошее предложение, которое является лучшей практикой? Этот набор будет в конечном счете связан с сеткой, таким образом, я буду создавать частичный класс и добавлять дополнительное свойство на основе того, каково значение DateTime.

1
задан Scott Scowden 12 August 2010 в 23:37
поделиться

2 ответа

Создайте класс UIDateAndReport , который будет заключать в оболочку My_SiteReportResult и ] Дата .

Код выглядит следующим образом:

public class TestClass
{
    public DateTime Date { get; set; }
    public IEnumerable<My_SiteReportResult> Reports {get;set;}
}

public class UIDateAndReport { public DateTime Date { get; set; } public My_SiteReportResult Report { get; set; } }

TestClass tst = new TestClass(); ... var DatedReports = (from r in tst.Reports select new UIDateAndReport { Date = tst.Date, Report = r });

В итоге вы получите IEnumerable , который вы можете привязать к своему пользовательскому интерфейсу через ObservableCollection или CollectionView.

{наслаждайтесь}

1
ответ дан 2 September 2019 в 22:12
поделиться

Может ли это помочь?

...

List<DatedReportResult> list = new List<DatedReportResult>();

foreach (var drs in list) {
   drs.ReportDateTime ..
}

...

class DatedReportResult {
   public DateTime ReportDateTime;

   /* Properties of original ReportResult class */
   ....
}

И наоборот, для пользовательского интерфейса вы можете связать список, использовать BindingSource и получить доступ к свойству ReportDateTime текущего элемента в вашем коде.

Надеюсь, это поможет.

Спасибо

1
ответ дан 2 September 2019 в 22:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: