2017-10-17 2 views
-7

je dois déclarer une liste pour mes tests unitaires:Comment initialiser un objet sur une ligne?

public void DataCleanTest1() 
{ 
    List<MesureSerialized> data = new List<MesureSerialized> 
    { 
     { new MesureSerialized() }, 
     { new MesureSerialized() } 
    }; 
} 

Je voudrais initialiser mes objets et de les remplir en ligne sans avoir à régler manuellement tous les champs de l'objet.

Je ne connais pas le terme utilisé pour cette action, donc mes recherches ont été infructueuses.

+4

ce qui vous empêche de le faire? https://msdn.microsoft.com/fr-fr/library/microsoft.visualstudio.testtools.unittesting.testinitializeattribute.aspx –

+0

Vous ne faites rien "dynamiquement". Ce sont des expressions de construction anciennes. Tout comme 'new List <>'. Si vous avez trouvé la syntaxe de l'initialiseur de collection, l'initialiseur d'objet se trouve dans la même page ou la même page de documentation précédente ou dans l'article –

+0

Remplissez avec quoi? –

Répondre

3

Vous pouvez utiliser le soi-disant Object Initializer:

public void DataCleanTest1() 
{ 
    List<MesureSerialized> data = new List<MesureSerialized> 
    { 
     { 
      new MesureSerialized 
      { 
       Prop1 = "value", 
       Prop2 = 42 
      } 
     }, 
     { new MesureSerialized() } 
    }; 
} 

S'il vous plaît noter également que vous n'avez pas besoin des accolades autour des objets dans la liste.

Ceci est également valable:

public void DataCleanTest1() 
{ 
    List<MesureSerialized> data = new List<MesureSerialized> 
    { 
     new MesureSerialized 
     { 
      Prop1 = "value", 
      Prop2 = 42 
     }, 
     new MesureSerialized() 
    }; 
} 
+0

Merci! Voilà: D – Orionss

5

Peut-être que je ne comprends pas la question, vous voulez faire:

public void DataCleanTest1() 
{ 
    List<MesureSerialized> data = new List<MesureSerialized> 
    { 
     new MesureSerialized { myProperty = "value", otherPrperty = "value" }, 
     new MesureSerialized { myProperty = "value", otherPrperty = "value" } 
    }; 
} 
+1

Vous n'avez pas besoin des parenthèses –

+0

Vous avez compris ma question! Merci! Je ne savais pas que je pouvais faire ça. – Orionss