예제 #1
0
파일: Cast.cs 프로젝트: jimitndiaye/corewf
        protected override void CacheMetadata(CodeActivityMetadata metadata)
        {
            UnaryExpressionHelper.OnGetArguments(metadata, this.Operand);

            if (_checkedOperation)
            {
                EnsureOperationFunction(metadata, ref s_checkedOperationFunction, ExpressionType.ConvertChecked);
            }
            else
            {
                EnsureOperationFunction(metadata, ref s_uncheckedOperationFunction, ExpressionType.Convert);
            }
        }
예제 #2
0
        protected override void CacheMetadata(CodeActivityMetadata metadata)
        {
            UnaryExpressionHelper.OnGetArguments(metadata, this.Operand);

            if (s_operationFunction == null)
            {
                ValidationError validationError;
                if (!UnaryExpressionHelper.TryGenerateLinqDelegate(ExpressionType.Not, out s_operationFunction, out validationError))
                {
                    metadata.AddValidationError(validationError);
                }
            }
        }
예제 #3
0
파일: Cast.cs 프로젝트: jimitndiaye/corewf
 private void EnsureOperationFunction(CodeActivityMetadata metadata,
                                      ref Func <TOperand, TResult> operationFunction,
                                      ExpressionType operatorType)
 {
     if (operationFunction == null)
     {
         ValidationError validationError;
         if (!UnaryExpressionHelper.TryGenerateLinqDelegate(
                 operatorType,
                 out operationFunction,
                 out validationError))
         {
             metadata.AddValidationError(validationError);
         }
     }
 }