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

时间:2018-12-15 12:06:40

标签: c# class interface

我开始学习如何创建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 :(得分:5)

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

例如,您可以创建一个文件夹Interfaces并将ICar放在此处。我将向您展示我的项目中的一个示例。

我的文件夹结构如下:

enter image description here

在我的ViewModel.cs中,我使用了一个名为FakeData的对象。如下所示,类FakeDataTaskManager.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中调用该接口,而不会出现任何错误。

随时问我有关此问题。我会尽力帮助您。

答案 1 :(得分:1)

您需要了解公共,私有,受保护的名称空间等。

根据您的情况,在同一文件夹中创建一个名为ICar.cs的新文件,并将其声明为同一名称空间中的公共接口。