日期:2014-05-18 浏览次数:21089 次
public abstract class Operator
{
public abstract double Operate(double left, double right);
}
public class AddOperator : Operator
{
public override double Operate(double left, double right)
{
return left + right;
}
}
...
Operator @operator = new AddOperator(); //这里Operator型变量与保留字operator重名,所以在前面加@
double result = @operator.Operate(1.0, 2.0);
------解决方案--------------------
HOHO,说完了,顶上。
不过你可能会有一个疑问@int与aint不是一回事么?都在前面添加了一个字符,已经改变了这个变量名嘛?实际可不是这样的哦:
看个例子:
public class A
{
public int @int =0;
public static void ATest()
{
Type ta = typeof(A);
FiledInfo fi1 = ta.GetField("int"); //成功
FieldInfo fi2 = ta.GetField("@int");
}
}