How can I do this with generics?
In my current code, I am writing something like this for each feature on a 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 I can reduce the length of this code using Generics or am I barking up the wrong tree?
you can simply write a method which adds the vehicle features to your vehiclespec
and usage: