Я определяю интерфейс и создаю класс, наследующий его.
interface IOperator
{
int Priority{ get; }
string Identifier { get; }
int Dimension { get; }
Expression GetExpression(IVariable[] variables);
object Excute(IVariable[] variables);
}
public class Op_Muti:IOperator
{
int IOperator.Priority { get { return 40; } }
string IOperator.Identifier { get { return "*"; } }
int IOperator.Dimension { get { return 2; } }
public object IOperator.Excute(IVariable[] variables)
{
throw new ArgumentOutOfRangeException(string.Format("{0} can't apply to {1}", Identifier, variables[0].VarType.ToString()));
}
}
Идентификатор определен в интерфейсе
string Identifier { get; }
и реализован в классе Op_Muti
string IOperator.Identifier { get { return "*"; } }
но не может ссылаться на
throw new ArgumentOutOfRangeException(string.Format("{0} can't apply to {1}", Identifier, variables[0].VarType.ToString()));
Почему?