Пример #1
0
        internal StringBuilder GetDetails()
        {
            StringBuilder toDisplay   = new StringBuilder();
            Type          vehicleType = GetType();

            foreach (FieldInfo f in typeof(Vehicle).GetFields(BindingFlags.Instance | BindingFlags.NonPublic))
            {
                if (f.FieldType == typeof(Engine))
                {
                    toDisplay.Append(m_Engine.GetDetails());
                }
                else if (f.FieldType == r_WheelsList.GetType())
                {
                    toDisplay.Append("\r\nWheels Information:");
                    int wheelNum = 1;

                    foreach (Wheel wheel in r_WheelsList)
                    {
                        toDisplay.Append("\r\nWheel " + wheelNum + " :");
                        toDisplay.Append(wheel.GetDetails());
                        wheelNum++;
                    }
                }
                else
                {
                    string memberName = GarageData.FixNameToPrint(f.ToString());
                    toDisplay.Append("\r\n " + memberName + " = " + f.GetValue(this));
                }
            }

            foreach (FieldInfo f in vehicleType.GetFields(BindingFlags.Instance | BindingFlags.NonPublic))
            {
                string memberName = GarageData.FixNameToPrint(f.ToString());
                toDisplay.Append("\r\n " + memberName + " = " + f.GetValue(this));
            }

            return(toDisplay);
        }