Не знаю как написать метод, позволяющий ввести данные в объект класса

Я сделал класс Smartphone, у которого есть несколько полей и свойств к ним.

class Smartphone
    {
        
        private string manufacturer;
        private string model;
        private string os;
        private int os_ver;
        private string cpu;

        public string Manufacturer { get; set; }
        public string Model { get; set; }
        public string OS { get; set; }
        public int OS_ver { get; set; }
        public string CPU { get; set; }

        // Конструктор со всеми значениями
        public Smartphone(string manufacturer, string model, string os, int os_ver, string cpu )
}

Я хочу написать метод, который позволит пользователю ввести данные в эти поля. Но я не знаю как мне обозначить объект, который я буду передавать в метод. Если проще говоря, как мне обозначить объект класса, которого по сути еще не существует, и более того, метод должен возвращать данные разных типов (string и int) к примеру:

public "типы данных, которые нужно вернуть" InputInfo ( объект класса, я не знаю как его тут обозначить )
{
 "код метода"
}

Метод должен вернуть значения полей Manufacturer, Model, OS, OS_ver и CPU Я начинающий программист

Весь код

class Smartphone
    {
        
        private string manufacturer;
        private string model;
        private string os;
        private int os_ver;
        private string cpu;

        public string Manufacturer { get; set; }
        public string Model { get; set; }
        public string OS { get; set; }
        public int OS_ver { get; set; }
        public string CPU { get; set; }

        // Конструктор со всеми значиниями
        public Smartphone(string manufacturer, string model, string os, int os_ver, string cpu )
        {
            this.manufacturer = manufacturer;
            this.model = model;
            this.os = os;
            this.os_ver = os_ver;
            this.cpu = cpu;
        }



        //Конструктор по умолчанию
        public Smartphone()
        {
            manufacturer = "Неизвестно";
            model = "Неизвестно";
            os = "Неизвестно";
            os_ver = 0;
            cpu = "Неизвестно";
        }  




        public void DisplayInfo()
        {
            Console.WriteLine("==============================================");
            Console.WriteLine($"Производитель - {manufacturer}");
            Console.WriteLine($"Модель - {model}");
            Console.WriteLine($"Операционная система - {os}");
            Console.WriteLine($"Версия ОС - {os_ver}");
            Console.WriteLine($"Процессор - {cpu}");
            Console.WriteLine("==============================================");
        }
    }

Ответы (1 шт):

Автор решения: aepot

Начнем с того, что у вас нет конструктора, а есть только его сигнатура, вы забыли про тело метода. Код класса из вопроса даже не скомпилируется. Во-вторых вы используете автосвойства, вам не нужны в этом случае поля. И последнее, правила именования, я привел немного названия свойств в порядок, получилось так:

class Smartphone
{
    public string Manufacturer { get; set; }
    public string Model { get; set; }
    public string OS { get; set; }
    public int OSVersion { get; set; }
    public string Cpu { get; set; }

    public Smartphone(string manufacturer, string model, string os, int osVersion, string cpu)
    {
        Manufacturer = manufacturer;
        Model = model;
        OS = os;
        OSVersion = osVersion;
        Cpu = cpu;
    }
}

Ну а ввод очень простой.

public Smartphone InputInfo()
{
    Console.Write("Введите производителя: ");
    string manufacturer = Console.ReadLine();
    Console.Write("Введите модель: ");
    string model = Console.ReadLine();
    Console.Write("Введите ОС: ");
    string os = Console.ReadLine();
    Console.Write("Введите версию ОС: ");
    int osVersion = int.Parse(Console.ReadLine());
    Console.Write("Введите процессор: ");
    string cpu = Console.ReadLine();

    return new Smartphone(manufacturer, model, os, osVersion, cpu);
}

Ну а использовать так

Smartphone smartphone = InputInfo();
Console.WriteLine("Вы ввели:");
Console.WriteLine(smartphone.Manufacturer);
Console.WriteLine(smartphone.Model);
Console.WriteLine(smartphone.OS);
Console.WriteLine(smartphone.OSVersion);
Console.WriteLine(smartphone.Cpu);
→ Ссылка