Инициализация переменных класса
От: e.thrash  
Дата: 13.10.15 06:22
Оценка:
Есть класс по отрисовке сложного отчета. в нем есть разные значения которые высчитываются на большом массиве данных.
переменных порядка 10 штук и все они высчитываются на одном и том же массиве данных (порядка 1млн записей сложного типа)

язык C#

сейчас сделал так
смущает то, что приходится расчитывать все переменные в конструкторе класса, а он вроде не лучшее место для этого.
Но сделал это ради ридонли переменных, т.к. по скорости они быстрей инициализируются, нежели без ридонли.
ДУмал чтобы пустить поток внутри класса для расчета и сделать переменную IsInitialized. Если обращаемся до окончания расчета, то ждем

class Report
{

  public Report(IEnumerable<Data> data)
  {
    var1 = data.Where(...).Sum(...); 
    ...
    var10 = data.Where(...).Sum(...); 
  }

  public readonly Int32 var1;
  ...
  public readonly Int32 var10;

}


Какие мысли у кого?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.