示例#1
0
        virtual public object GetVariableValue()
        {
            object retval = null;

            if (VariableRawValue.Contains(DataContext.VARIABLE_START))
            {
                if (VariableRawValue.StartsWith(DataContext.VARIABLE_START) &&
                    VariableRawValue.EndsWith(DataContext.VARIABLE_END))
                {
                    return(MyDataContext.CalculateVariableObjectValue(VariableRawValue));
                }
                else
                {
                    //complex string
                    retval = ResolveDataContextVariables(VariableRawValue, MyDataContext);

                    if (JsonData.ValueIsObject((string)retval) ||
                        JsonData.ValueIsArray((string)retval))
                    {
                        retval = new JsonData((string)retval);
                    }
                    return(retval);
                }
            }
            else
            {
                double dVal;
                bool   bVal;

                if (Double.TryParse(VariableRawValue, out dVal))
                {
                    return(dVal);
                }
                else if (Boolean.TryParse(VariableRawValue, out bVal))
                {
                    return(bVal);
                }
                else
                {
                    if (JsonData.ValueIsObject(VariableRawValue) ||
                        JsonData.ValueIsArray(VariableRawValue))
                    {
                        return(new JsonData(VariableRawValue));
                    }
                    else
                    {
                        return(VariableRawValue);
                    }
                }
            }
        }