Создание отдельного файла для main, interface и class - PullRequest
0 голосов
/ 15 декабря 2018

Я начинаю учиться создавать C # и использовать интерфейс и класс.Может ли кто-нибудь научить меня, как отделить мой класс и мой интерфейс и по-прежнему поддерживать их связь друг с другом?

Причина: если я буду обновлять свой код, я буду знать, где их добавить, и это будетменьше кода на моем экране.

namespace Car
{
    class MainClass
    {

        //My Interface
        interface ICar
        {
            int gas { get; set; }

            //void refuel();

            int getGasLeft();
        }

        //My Class
        class Car : ICar
        {
            public int gas { get; set; }

            public Car(string _name)
            {
                name = _name;
                dist = 0;
                gas = 40;
            }


            public void refuel(int lit)
            {
                gas += lit;
            }


            public int getGasLeft()
            {
                return gas;
            }



        }

        //Main
        public static void Main(string[] args)
        {
            Car toyota = new Car();
            toyota.drive(100);
            toyota.refuel(5);
            Console.WriteLine("Name: " + toyota.name +
                              "\nGas Left: " + toyota.getGasLeft());

            Console.ReadLine();

        }
    }
}

Ответы [ 2 ]

0 голосов
/ 15 декабря 2018

В C # пространство имен - это способ подключения файлов из разных мест.

Например, вы можете создать папку Interfaces и поместить туда ICar.Я покажу вам пример из моего проекта.

Моя структура папок выглядит следующим образом:

enter image description here

В моем ViewModel.cs Iиспользуйте объект с именем FakeData.Как вы можете видеть ниже, класс FakeData находится в пространстве имен TaskManager.Models.

enter image description here

Теперь мы идем к нашему проекту, и мыглядя на папку Models.

В C #, когда вы создаете папку и класс в ней, вы получите namespace на основе имени вашей папки.Конечно, вы можете изменить это.Вы можете редактировать пространство имен так, как вы хотите.

enter image description here

В вашем случае вы можете просто создать папку с именем Interfaces.Щелкните правой кнопкой мыши, затем выберите «Новый класс» и присвойте ему имя, например, Icar.cs.Вставьте туда свой код.Ваше пространство имен по умолчанию будет ProjectName.Interfaces.Сделай свой интерфейс public.Затем вы можете вызвать свой интерфейс, добавив using ProjectName.Interfaces в начало вашего основного класса.Тогда вы можете сделать Main : ICar без ошибок.

Та же идея с классом Car.Вы можете создать папку с именем Models и класс в ней с именем Cars.cs.Он будет иметь пространство имен ProjectName.Models.Если вы хотите использовать свой интерфейс, который находится в папке Interfaces, вам нужно добавить пространство имен в ваш класс Car.cs.В вашем случае это будет выглядеть как using ProjectName.Interfaces.Затем вы можете вызвать интерфейс в Car.cs без каких-либо ошибок.

Не стесняйтесь задавать мне любые вопросы по этому поводу.Я постараюсь вам помочь.

0 голосов
/ 15 декабря 2018

Вам необходимо узнать об открытых, закрытых, защищенных пространствах имен и т. Д.

В вашем случае создайте новый файл с именем ICar.cs в той же папке и объявите его как открытый интерфейс вто же пространство имен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...