为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
BIG阳 2021-11-28 17:51:26
我希望创建一个菜单驱动的程序,该程序将根据某些方面(例如操作员或任何其他事物)进行分类。我创建了一个控制台应用程序项目,并将“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 将包括加法、减法、乘法等。
查看完整描述

2 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

CS0118 错误指出“示例”只是一个命名空间,但用作变量


当您尝试创建命名空间的实例或以其他方式将命名空间用作类的实例时,会发生错误 CS0118。有关更多信息,请参阅此文档帖子。


根据您的描述,我的假设是您需要根据用户选择的内容在 3 个类中的每一个中调用 main。考虑以下代码...


switch(d)

{

    case 1:

        Sample.Class1.Main();

        break;

    case 2:

        Sample.Class2.Main();

        break;

    case 3:

        Sample.Class3.Main();

        break;

    default:

        // default processing here

}

这是假设您的命名空间被称为 Sample 并且这些方法在您的库中的类中被定义为静态。


查看完整回答
反对 回复 2021-11-28
?
qq_笑_17

TA贡献1818条经验 获得超7个赞

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


查看完整回答
反对 回复 2021-11-28
  • 2 回答
  • 0 关注
  • 277 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信