Вот мой код (только классы вне класса Main Program).
У него есть 2 класса: Vehicle, который имеет только некоторые атрибуты, и Car, который наследует Vehicle и имеет больше функциональных возможностей, таких как конструктор для Car "Car () ", метод для печати информации о конкретной машине" PrintCarInfo () "и статический метод для класса Car для печати количества созданных экземпляров Car.
public class Vehicle
{
protected double speed;
protected int wheels = 4;
protected string color;
protected string manufacturer;
}
public class Car : Vehicle
{
static int carCounter = 0;
public Car(double speed, string color, string manufacturer)
{
this.speed = speed;
this.color = color;
this.manufacturer = manufacturer;
Interlocked.Increment(ref carCounter);
}
public void PrintCarInfo()
{
Console.WriteLine("Speed of car is {0}", speed);
Console.WriteLine("Car has {0} wheels", wheels);
Console.WriteLine("Car is {0}", color);
Console.WriteLine("Car was made by {0}", manufacturer);
Console.WriteLine();
}
public static void NumberOfCars()
{
Console.WriteLine("Number of cars created: {0}", carCounter);
Console.WriteLine();
}
После того, как я создал новую машинуЭкземпляр: Car car1 = new Car(120, "Red", "Porsche");
, как мне напечатать имя этого конкретного экземпляра внутри метода PrintCarInfo ()?
В настоящее время метод PrintCarInfo () печатает скорость, колеса, цвет и производителя автомобиля, но я хочунапечатать имя этого конкретного экземпляра перед ними.
Что-то вроде: Console.WriteLine("Info about {0}", "Insert instance reference here")
Я хочу не указывать экземпляр в качестве параметра для метода, например car1.PrintCarInfo(car1);
Как я могу ссылаться на созданный экземпляр?(в данном случае car1)
Я пытался поиграть с object carObject;
, но безуспешно.