예제 #1
0
 public virtual void ReadFrom(XElement xE)
 {
     Operator       = null;
     LhsOperand     = null;
     RhsOperand     = null;
     FunctionString = null;
     foreach (var xItem in xE.Elements())
     {
         var localName = xItem.Name.LocalName;
         if (localName == "operator")
         {
             Operator = FunctionOperatorExtensions.Parse(xItem.Value);
         }
         else if (localName == "lhsOperand")
         {
             if (LhsOperand == null)
             {
                 LhsOperand = new List <FunctionArgumentOperand>();
             }
             var lhsOperandItem = InstanceCreator.CreateFunctionArgumentOperand(xItem);
             lhsOperandItem.ReadFrom(xItem);
             LhsOperand.Add(lhsOperandItem);
         }
         else if (localName == "rhsOperand")
         {
             if (RhsOperand == null)
             {
                 RhsOperand = new List <FunctionArgumentOperand>();
             }
             var rhsOperandItem = InstanceCreator.CreateFunctionArgumentOperand(xItem);
             rhsOperandItem.ReadFrom(xItem);
             RhsOperand.Add(rhsOperandItem);
         }
         else if (localName == "functionString")
         {
             FunctionString = xItem.Value;
         }
     }
 }