當前位置: 首頁>>代碼示例>>C#>>正文


C# IOperandTerm.GetOperandType方法代碼示例

本文整理匯總了C#中MinorShift.Emuera.GameData.Expression.IOperandTerm.GetOperandType方法的典型用法代碼示例。如果您正苦於以下問題:C# IOperandTerm.GetOperandType方法的具體用法?C# IOperandTerm.GetOperandType怎麽用?C# IOperandTerm.GetOperandType使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在MinorShift.Emuera.GameData.Expression.IOperandTerm的用法示例。


在下文中一共展示了IOperandTerm.GetOperandType方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: ReduceTernaryTerm

 public static IOperandTerm ReduceTernaryTerm(OperatorCode op, IOperandTerm o1, IOperandTerm o2, IOperandTerm o3)
 {
     OperatorMethod method = null;
     if ((o1.GetOperandType() == typeof(Int64)) && (o2.GetOperandType() == typeof(Int64)) && (o3.GetOperandType() == typeof(Int64)))
         method = ternaryIntIntInt;
     else if ((o1.GetOperandType() == typeof(Int64)) && (o2.GetOperandType() == typeof(string)) && (o3.GetOperandType() == typeof(string)))
         method = ternaryIntStrStr;
     if (method != null)
         return new FunctionMethodTerm(method, new IOperandTerm[] { o1, o2, o3 });
     throw new CodeEE("三項演算子の使用法が不正です");
 }
開發者ID:utau1116b,項目名稱:Hello-World,代碼行數:11,代碼來源:OperatorMethod.cs

示例2: ReduceUnaryTerm

 public static IOperandTerm ReduceUnaryTerm(OperatorCode op, IOperandTerm o1)
 {
     OperatorMethod method = null;
     if (op == OperatorCode.Increment || op == OperatorCode.Decrement)
     {
         VariableTerm var = o1 as VariableTerm;
         if (var == null)
             throw new CodeEE("変數以外をインクリメントすることはできません");
         if (var.Identifier.Readonly)
             throw new CodeEE("変更できない変數をインクリメントすることはできません");
     }
     if (o1.GetOperandType() == typeof(Int64))
     {
         if (op == OperatorCode.Plus)
             return o1;
         if (unaryDic.ContainsKey(op))
             method = unaryDic[op];
     }
     if(method != null)
         return new FunctionMethodTerm(method, new IOperandTerm[] { o1 });
     string errMes = "";
     if (o1.GetOperandType() == typeof(Int64))
         errMes += "數値型";
     else if (o1.GetOperandType() == typeof(string))
         errMes += "文字列型";
     else
         errMes += "不定型";
     errMes += "に単項演算子\'" + OperatorManager.ToOperatorString(op) + "\'は適用できません";
     throw new CodeEE(errMes);
 }
開發者ID:utau1116b,項目名稱:Hello-World,代碼行數:30,代碼來源:OperatorMethod.cs

示例3: ReduceBinaryTerm

 public static IOperandTerm ReduceBinaryTerm(OperatorCode op, IOperandTerm left, IOperandTerm right)
 {
     OperatorMethod method = null;
     if ((left.GetOperandType() == typeof(Int64)) && (right.GetOperandType() == typeof(Int64)))
     {
         if (binaryIntIntDic.ContainsKey(op))
             method = binaryIntIntDic[op];
     }
     else if ((left.GetOperandType() == typeof(string)) && (right.GetOperandType() == typeof(string)))
     {
         if (binaryStrStrDic.ContainsKey(op))
             method = binaryStrStrDic[op];
     }
     else if (((left.GetOperandType() == typeof(Int64)) && (right.GetOperandType() == typeof(string)))
          || ((left.GetOperandType() == typeof(string)) && (right.GetOperandType() == typeof(Int64))))
     {
         if (op == OperatorCode.Mult)
             method = binaryMultIntStr;
     }
     if (method != null)
         return new FunctionMethodTerm(method, new IOperandTerm[] { left, right });
     string errMes = "";
         if (left.GetOperandType() == typeof(Int64))
             errMes += "數値型と";
         else if (left.GetOperandType() == typeof(string))
             errMes += "文字列型と";
         else
             errMes += "不定型と";
         if (right.GetOperandType() == typeof(Int64))
             errMes += "數値型の";
         else if (right.GetOperandType() == typeof(string))
             errMes += "文字列型の";
         else
             errMes += "不定型の";
         errMes += "演算に二項演算子\'" + OperatorManager.ToOperatorString(op) + "\'は適用できません";
         throw new CodeEE(errMes);
 }
開發者ID:utau1116b,項目名稱:Hello-World,代碼行數:37,代碼來源:OperatorMethod.cs


注:本文中的MinorShift.Emuera.GameData.Expression.IOperandTerm.GetOperandType方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。