首页 新闻 会员 周边

关于枚举类型的使用

0
悬赏园豆:20 [已解决问题] 解决于 2008-10-12 10:18

我在operation.cs中声明了一个枚举类型:

   public  enum order
    {
        NewAccount,
        FindAccount
    }

在test.cs中使用的时候报错:

public  class test
{
      
        public static void Main(String[] args)
     {
            order operationOrder;
            Console.WriteLine(operationOrder.NewAccount);

  }

}

无法使用实例引用访问静态成员“order.NewAccount”;改用类型名来限定它

 

 

问题补充: 刚刚那个问题已经解决,现在我想这么用: order operationOrder; switch (operationOrder) { case order.NewAccount: Bank bank1 = new Bank(); Console.WriteLine("请输入姓名:"); string name = Console.ReadLine(); Console.WriteLine("请输入身份证号码:"); string identityCard = Console.ReadLine(); string blance = Console.ReadLine(); break; case order.FindAccount: Console.WriteLine("待开发"); } 请为该怎么为operationOrder赋值?
idoku的主页 idoku | 菜鸟二级 | 园豆:267
提问于:2008-10-11 08:04
< >
分享
最佳答案
0

order operationOrder;

string value = Console.ReadLine();

operationOrder = (order)Enum.Parse(typeof(order), value);

保证value是NewAccount和FindAccount之一

Gray Zhang | 专家六级 |园豆:17610 | 2008-10-11 09:37
其他回答(4)
0

order operationOrder=order.NewAccount

千年忍龟 | 园豆:205 (菜鸟二级) | 2008-10-11 08:37
0

Console.WriteLine(order.NewAccount);

蛙蛙王子 | 园豆:265 (菜鸟二级) | 2008-10-11 09:09
0
Code
//Invoke Order Enum
public void InvokeOrderEnum(){
if (true) {
ExecuteMethod(order.NewAccount);
}
else{
ExecuteMethod(order.FindAccount);
}
}

// Execute Method
public void ExecuteMethod(Order operationOrder) {

switch (operationOrder)
{
case order.NewAccount:
//TODO
break;
case order.FindAccount:
//TODO
break;
}
}
RicoRui | 园豆:3663 (老鸟四级) | 2008-10-11 12:00
0

看你序列化保存或输入的时候如何选择: int 或 string.

前者://对机器友好

    Order order = (Order)(int.parse(Console.ReadLine());//强制转换

后者://对人友好

    Order order;

     string temp = Console.ReadLine();

     swicth(temp){

           case(Order.New.ToString()):

                  order = Order.New;

                  break;

            case(Order.Final.ToString()):

                  order = Order.Final;

                  break;

             default:

                  throw New Exception(string.Concat("Unkown Order: ", temp));

                   break;

      }

陛下 | 园豆:3938 (老鸟四级) | 2008-10-11 20:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册