我希望创建一个菜单驱动程序,该程序将基于某些方面(例如操作员或其他任何事物)进行分类。
我创建了一个控制台应用程序项目,并给了“示例”作为名称空间。 在示例中,我在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 in class库将包括加法,减法,乘法等。
答案 0 :(得分:0)
您需要添加对类库项目的引用。我假设您在相同的解决方案中创建了它们。确保两个总线都相同。网络版本说4.6。 要添加参考,请展开项目资源管理器,查找参考,右键单击,然后选择“添加”,然后找到类库并选中复选框。 如果您安装了生产力工具Resharper,则可以更快地修复这些问题。
答案 1 :(得分:0)
CS0118错误,指出“样本”只是一个名称空间,但像变量一样使用
当您尝试创建名称空间的实例,或以其他方式使用名称空间(好像它是类的实例)时,发生错误CS0118。有关更多信息,请参见this documentation post。
根据您的描述,我的假设是您需要根据用户选择的内容在3个类中的每个类中调用主类。考虑下面的代码...
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,并且方法在库的类中定义为静态。