猿问

在 C# 中 => 在控制台应用程序中执行类库

我希望创建一个菜单驱动的程序,该程序将根据某些方面(例如操作员或任何其他事物)进行分类。


我创建了一个控制台应用程序项目,并将“sample”作为命名空间。在示例中,我在 Main() 中创建了一个菜单


public static void Main()

    {

        Console.Clear();

        Console.WriteLine("\nMenu Driven Program");

        Console.WriteLine("\n<--------List of Available Options-------->");

//Creating a list to Select from

        Console.WriteLine("\n  Select Any of the Following Function :");

        Console.WriteLine("\n_________________________________________");

        Console.WriteLine("\n1. Arithmatic Operators\n2. Logical Operators");

        Console.WriteLine("\n3.Misc1\n4. Misc2");

//Accepting a normal string

        string b = Console.ReadLine();

        int d;

// Following converts string into an integer

        Int32.TryParse(b, out d);


//Following code is used to create menu-driven program

        switch (d)

        {

            case 1:

//Here I wish to call one class library 

                break;


            case 2:

//Here I wish to call another class library

                break;

//And so on.    


            default:

                Console.WriteLine("\n\nWhat you wish to do?\na. Continue the Program\n\nb. Exit the Program");

                char c = Convert.ToChar(Console.ReadLine());

                if(c=='a'||c=='A')

                {

                    Main();

                }

                else

                {

                    Exit();

                }                  

                break;

        }

    }

现在,我创建了一个类库,我将在其中存储三个类(让我们考虑一下)增量、除法和乘法。


但是,我无法调用该类库。当我在 Switch“Case”中直接输入类库的名称时,它给了我 CS0118 错误,指出“Sample”只是一个命名空间,但用作变量。


在我的类库中,我创建了三个不同的类,并再次创建了一个 Main(),它将显示可用操作的列表。例如,如果算术运算符,那么类库中的 Main 将包括加法、减法、乘法等。


BIG阳
浏览 278回答 2
2回答

慕丝7291255

CS0118 错误指出“示例”只是一个命名空间,但用作变量当您尝试创建命名空间的实例或以其他方式将命名空间用作类的实例时,会发生错误 CS0118。有关更多信息,请参阅此文档帖子。根据您的描述,我的假设是您需要根据用户选择的内容在 3 个类中的每一个中调用 main。考虑以下代码...switch(d){&nbsp; &nbsp; case 1:&nbsp; &nbsp; &nbsp; &nbsp; Sample.Class1.Main();&nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; case 2:&nbsp; &nbsp; &nbsp; &nbsp; Sample.Class2.Main();&nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; case 3:&nbsp; &nbsp; &nbsp; &nbsp; Sample.Class3.Main();&nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; default:&nbsp; &nbsp; &nbsp; &nbsp; // default processing here}这是假设您的命名空间被称为 Sample 并且这些方法在您的库中的类中被定义为静态。

qq_笑_17

您需要添加对类库项目的引用。我假设您在同一个解决方案中创建了它们。确保两者都在忙着相同的事情。网络版本说 4.6。要添加引用,请展开项目资源管理器,查找引用,右键单击并选择“添加”,然后找到类库并选中复选框。如果您安装了生产力工具 Resharper,它可以更快地修复此类问题。
随时随地看视频慕课网APP
我要回答