为main,interface和class创建单独的文件

Mak*_*aku 1 c# interface class

我开始学习如何创建C#并使用Interface和Class.有人可以教我如何分离我的类和我的界面,并仍然保持彼此的联系?

原因:如果我要更新我的代码,我会知道在哪里添加它们,我的屏幕中的代码就会减少.

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();

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

mic*_*cer 5

在C#中,命名空间是连接来自不同位置的文件的方式.

例如,您可以创建一个文件夹Interfaces并将其放在ICar那里.我将向您展示我项目的一个例子.

我的文件夹结构如下所示:

在此输入图像描述

在我的ViewModel.cs我使用一个名为的对象FakeData.如下所示,类FakeData位于TaskManager.Models命名空间中.

在此输入图像描述

现在,我们将进入我们的项目,我们正在查看该Models文件夹.

在C#中,当您在其中创建文件夹和类时,您将获得namespace基于您的文件夹名称的文件夹.当然,你可以改变它.您可以根据需要编辑命名空间.

在此输入图像描述

在您的情况下,您可以简单地创建一个名为的文件夹Interfaces.右键单击,然后选择New Class,并为其命名,例如Icar.cs.将代码粘贴到那里.您的默认命名空间将是ProjectName.Interfaces.建立你的界面public.然后,您可以通过添加using ProjectName.Interfaces主类顶部来调用您的界面.然后你可以Main : ICar没有任何错误.

Car班级相同的想法.您可以创建一个名为的文件夹Models和一个调用的类Cars.cs.它将具有命名空间ProjectName.Models.如果要使用Interfaces文件夹中的界面,则需要在类中添加命名空间Car.cs.在你的情况下,它看起来像using ProjectName.Interfaces.然后,您可以在Car.cs没有任何错误的情况下调用接口.

请随时问我有关此事的任何问题.我会尽力帮助你.

  • 你不需要我之前提到的文件夹,但它会帮助\导航,这是一个很好的做法.当您在项目目录中创建`.cs`文件时(右键单击项目,然后只需添加新项),`.cs`文件将具有相同的命名空间,例如`ProjectName`.因此,您不需要在类中使用`using namespace`,因为文件在同一名称空间中看到彼此.如果Car和Main将在同一名称空间中,则不需要使用`using`.只需从该类调用对象,你就可以了 (3认同)
  • 我会在几个小时内看一下,因为现在我没有太多时间. (2认同)
  • 如果我对你的问题的回答是肯定的,你可以通过markin批准吗? (2认同)
  • @Maku如果你想要代码审查,请访问https://codereview.stackexchange.com/ (2认同)