Est-il possible d'initialiser les membres d'une structure sans utiliser de constructeur?

J'ai un struct qui contient deux listes:

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

Cependant, je veux initialiser lorsque la structure est créée. Si j'essaie:

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

Puis-je obtenir:

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

Car les structures ne peut pas avoir sans paramètre constructeurs, je ne peux pas le régler dans un constructeur. Jusqu'à présent, je ne peux que voir les options suivantes:

  1. Initialiser les propriétés lors de la création d'une instance de MonthData
  2. Utiliser une classe au lieu d'une struct
  3. Créer un constructeur avec un paramètre et l'utilisation que
  4. Faire des getters et setters pour les propriétés qui les initialiser
    paresseusement.

Qu'est-ce que l'approche recommandée pour cela? Maintenant, je suis en train de penser, ce qui rend cette classe est la meilleure idée.

source d'informationauteur Mike Christensen | 2011-11-16