Есть ли способ инициализировать члены структуры без использования конструктора?

У меня есть структура , содержащая два списка:

struct MonthData
{
   public List<DataRow> Frontline;
   public List<DataRow> Leadership;
}

Однако, Я хочу инициализировать оба при создании структуры. Если я попробую:

struct MonthData
{
   public List<DataRow> Frontline = new List<DataRow>();
   public List<DataRow> Leadership = new List<DataRow>();
}

Тогда я получу:

Error   23  'MonthData.Frontline': cannot have instance field initializers in structs
...

Поскольку у структур не может быть конструкторов без параметров, я также не могу просто установить это в конструкторе. Пока я вижу только следующие параметры:

  1. Инициализировать оба свойства при создании экземпляра MonthData
  2. Использовать класс вместо структуры
  3. Создать конструктор с параметром и использовать его
  4. Сделать геттеры и сеттеры для свойств, которые их инициализируют лениво.

Каков рекомендуемый подход для этого? Сейчас я думаю, что сделать это занятие - лучшая идея.

12
задан Kirill Kobelev 20 March 2015 в 18:24
поделиться