2010-11-17 24 views
0

Je dois sauvegarder les données dans différents objets C# en fonction de l'entrée.Stocker les données dans les objets en fonction de l'entrée C#

En fonction de la valeur de "productChoice", mon programme doit sauvegarder les données dans la classe correspondante.

Par exemple:

si productChoice = "auto", puis les données qui devraient être mis à l'objet AutoDataprefill.

Si productChoice = "véhicule", les données doivent être définies sur l'objet VehicleMileage.

Ma classe de commande:

public class Order 
    { 
     public Products products {get;set;} 
    } 

Mes produits Classe:

public class Products 
    { 
     public productChoiceType products { get; set; } 
    } 

Ma classe productChoiceType:

public class productChoiceType 
    { 
     public string productChoice { get; set; } 
     public AutoDataprefill auto_dataprefill { get; set; } 
     public VehicleMileage vehicle_mileage { get; set; } 
     public ClaimsDiscovery claims_discovery { get; set; } 
     public PropertyDataprefill property_dataprefill { get; set; } 
     public List productList { get; set; } 
    } 

public class AutoDataprefill 
    { 
     public Parameter parameter { get; set; } 
     public Pnc pnc { get; set; } 
     public ProductReturnFormat format { get; set; } 
     public string primary_subject { get; set; } // Attribute // IDREF 
    } 

public class VehicleMileage 
    { 
     public string usage { get; set; } 
     public VmrReportType report_type { get; set; } 
     public Vehicles vehicles { get; set; } 
     public string subject { get; set; } //Attribute // IDREF 

    } 

Voici mon code créer une instance de « l'ordre » et sauvegarder des données sur les objets correspondants:

CLUEAuto.Personal.BusinessEntities.Order nwOrder = new CLUEAuto.Personal.BusinessEntities.Order 
     { 


      products = new CLUEAuto.Personal.BusinessEntities.Products 
      { 
       products = new CLUEAuto.Personal.BusinessEntities.productChoiceType 
       { 
        /* if (productChoice == "auto") 
          {Parameter = , Pnc = ,.... }  
         elseif (productChoice == "vehicle") 
          {usage = , reportType = , ....} */ 

            ??? 
       } 
      } 
     }
+0

Quelle est la question? –

+0

Comment mon code doit-il ressembler à ce code:/* if (productChoice == "auto") {Parameter =, Pnc =, ....} elseif (productChoice == "vehicle") {usage = , reportType =, ....} */ – BumbleBee

Répondre

1

Peut-être que ce serait plus facile si vous gérez la création de vos objets ainsi:

string productChoice = "auto"; 
Order nwOrder = new Order(); 
Products nwProducts = new Products(); 
nwOrder.products = nwProducts; 
productChoiceType nwPCT = new productChoiceType(); 
if(productChoice == "auto") { 
    AutoDataprefill adp = new AutoDataprefill(); 
    //adp.Parameter = ... 
    //adp.Pnc = ... 
    nwPCT.auto_dataprefill = adp; 
} 
else if (productChoice == "vehicle") 
{ 
    // etc... 
} 
nwProducts.products = nwPCT; 
+0

Merci. Même si j'ai impliqué "public" pour les membres, mais il semble que le compilateur rend le membre privé. Quand je mets après nwOrder l'intellisense ne me montre rien. – BumbleBee

+0

C'est étrange parce que j'ai utilisé vos classes dans un petit projet web et IntelliSense a fonctionné comme prévu pour la classe Order. Peut-être que cela a quelque chose à voir avec l'IDE que vous utilisez. – jdecuyper

+0

C'est vraiment énervant. L'exécution les définit automatiquement à privé. Je n'ai aucune idée de comment surmonter ce problème. – BumbleBee