我在一个生成Command对象的类中有一个switch语句,它基于代码文件中的某一行是否与该Command对象的特定代码相匹配。在switch语句中使用属性?
这样的:
switch (line):
{
case "#CODE1":
return new Command1();
case "#CODE2":
return new Command2();
}
我想要把它弄成这个样子:
switch (line):
{
case Command1.Code:
return new Command1();
case Command2.Code:
return new Command2();
}
我想它创建的Command一个公共静态属性,但是编译器会抱怨...
有没有办法沿着这个意图去做一些事情,编译器不会抱怨?
我不喜欢让字符串常量需要“记忆”。我希望他们连接到他们各自的命令。这种方式不可能出现拼写错误。智能感知将抓住他们。 – 2009-08-04 20:31:22
是的,但您的代码文件中仍可能有拼写错误。关键是要做你想做的事情,你必须首先实例化变量。在检查属性值后,您不能创建新实例,您必须先创建实例,然后才能检查值。 – Beth 2009-08-05 16:59:28