.net - C# Generics: Can I use them in this example? -


how can generics?

in current code, writing each feature on vehicle.

        foreach (var vaudiosystem in vehicleaudiosystem)         {             var acml = (vovehiclefeaturelist) frameworkfactoryapi.createvo(typeof (vovehiclefeaturelist));             acml.isinitialized = false;             acml.initialize(true);             acml.vehiclefeaturelisttype = globalenums.vehiclefeaturelisttype.audiosystem;             acml.valueid = vaudiosystem;                 vehiclespec.vehiclefeaturelists.add(acml);         }         foreach(var axle in vehicleaxles)         {             var acml =                 (vovehiclefeaturelist)frameworkfactoryapi.createvo(typeof(vovehiclefeaturelist));             acml.isinitialized = false;             acml.initialize(true);             acml.vehiclefeaturelisttype = globalenums.vehiclefeaturelisttype.axles;             acml.valueid = axle;             vehiclespec.vehiclefeaturelists.add(acml);         }         foreach(var nav in vehiclenavsystem)         {             var acml =                 (vovehiclefeaturelist)frameworkfactoryapi.createvo(typeof(vovehiclefeaturelist));             acml.isinitialized = false;             acml.initialize(true);             acml.vehiclefeaturelisttype = globalenums.vehiclefeaturelisttype.navsystem;             acml.valueid = nav;             vehiclespec.vehiclefeaturelists.add(acml);             } 

is there someway can reduce length of code using generics or barking wrong tree?

you can write method adds vehicle features vehiclespec

public void addvehiculefeatures(ienumerable<int> featurelist, globalenums.vehiclefeaturelisttype listtype, vehicle vehiclespec) {  foreach(int feature in featurelist)  {   var acml = (vovehiclefeaturelist)frameworkfactoryapi.createvo(typeof(vovehiclefeaturelist));                acml.isinitialized = false;                acml.initialize(true);                acml.vehiclefeaturelisttype = listtype;               acml.valueid = nav;                vehiclespec.vehiclefeaturelists.add(acml);                } } 

and usage:

addvehiculefeatures(axeslist, globalenums.vehiclefeaturelisttype.axes, vehiclespec) addvehiculefeatures(otherlist, globalenums.vehiclefeaturelisttype.other, vehiclespec) addvehiculefeatures(thirdfeaturelist, globalenums.vehiclefeaturelisttype.third one, vehiclespec) 

Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -