Пример #1
0
        public static CodeTerm Construct(CodeTerm value)
        {
            CodeValueType codeValueObjectType = value as CodeValueType;

            if (codeValueObjectType == null)
            {
                return(null);
            }

            ConstructorInfo constructorInfo = codeValueObjectType.Value.GetConstructor(new Type[] { });
            object          objectInstance  = constructorInfo.Invoke(new object[] { });

            return(new CodeValueObject(objectInstance));
        }
        public static CodeTerm IsType(CodeTerm[] arguments)
        {
            Debug.Assert(arguments.Length == 2);

            try
            {
                CodeValue     argValue0 = (CodeValue)arguments[0];
                CodeValueType argValue1 = (CodeValueType)arguments[1];
                object        value     = argValue0.Object;
                Type          type      = argValue1.Value;
                return(new CodeValueBoolean(type.IsInstanceOfType(value)));
            }
            catch (Exception ex)
            {
                return(new CodeValueException(ex));
            }
        }