public static void Main() { // create an EngineSpec object EngineSpec spec = new EngineSpec(2000, "Diesel"); // create a new object of the VolvoC30 type VolvoC30 myCar = new VolvoC30("Adam Freeman", "Black", spec); // create a second VolvoC30 object VolvoC30 joesCar = new VolvoC30("Joe Smith", "Silver", spec); // read and print out the Engine.EngineCapacity field of both objects // and the local variable Console.WriteLine("--- Values Before Change ---"); Console.WriteLine("Local EngineSpec Variable: {0}", spec.EngineCapacity); Console.WriteLine("myCar field value: {0}", myCar.Engine.EngineCapacity); Console.WriteLine("joesCar field value: {0}", joesCar.Engine.EngineCapacity); // modify the capacity of the local variable spec.EngineCapacity = 2500; // read and print out the Engine.EngineCapacity field of both objects // and the local variable Console.WriteLine("--- Values After Change ---"); Console.WriteLine("Local EngineSpec Variable: {0}", spec.EngineCapacity); Console.WriteLine("myCar field value: {0}", myCar.Engine.EngineCapacity); Console.WriteLine("joesCar field value: {0}", joesCar.Engine.EngineCapacity); // wait for input before exiting Console.WriteLine("Press enter to finish"); Console.ReadLine(); }
public void ConsumeEvent(VMSEventArgs e) { var message = (e as VMSPidValueEventArgs); switch (message.segment.Pid) { case 190: CurrentRPMs = message.segment.RawValue; break; case 92: CurrentLoadPercent = message.segment.StandardValue; break; } if (!double.IsNaN(CurrentRPMs) && !double.IsNaN(CurrentLoadPercent)) { var HP = EngineSpec.CalculateHorsepower(CurrentRPMs, CurrentLoadPercent); var Torque = EngineSpec.CalculateTorque(CurrentRPMs, CurrentLoadPercent); var torqueSegment = message.segment.DeepCopy(); torqueSegment.Pid = 510; torqueSegment.StandardValue = Torque; var hpSegment = message.segment.DeepCopy(); hpSegment.Pid = 509; hpSegment.StandardValue = HP; RaiseVMSEvent?.Invoke(this, new VMSParsedDataEventArgs(510, torqueSegment)); RaiseVMSEvent?.Invoke(this, new VMSParsedDataEventArgs(509, hpSegment)); /* * RaiseVMSEvent?.Invoke(this, new VMSPidValueEventArgs( * (EventIDs.PID_BASE | 510), * Torque * )); * RaiseVMSEvent?.Invoke(this, new VMSPidValueEventArgs( * (EventIDs.PID_BASE | 509), * HP * )); */ } }
public VolvoM30(string ownerName, string paintColor, EngineSpec engineSpec) { OwnerName = ownerName; PaintColor = paintColor; Engine = engineSpec; }
public VolvoC30(string newOwner, string paintColor, EngineSpec engineSpec) { CarOwner = newOwner; PaintColor = paintColor; Engine = engineSpec; }