У меня есть struct
, который содержит два списка:
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
...
Поскольку structs не может иметь конструкторы без параметров, я не могу просто установить это в конструкторе. До сих пор я могу видеть только следующие варианты:
- Инициализировать оба свойства при создании экземпляра MonthDatali >
- Используйте класс вместо struct
- Создайте конструктор с параметром и используйте
- Создайте геттеры и сеттеры для свойств, которые их инициализируют лениво.
Каков рекомендуемый подход для этого? Прямо сейчас, я думаю, что создание этого класса - лучшая идея.