Enterra.V8x1C.DOM.TypeInfo.TryParseValueFromV8String C# (CSharp) Méthode

TryParseValueFromV8String() private méthode

private TryParseValueFromV8String ( Session session, LexemV8 lexem, object &value ) : bool
session Session
lexem Enterra.V8x1C.Routines.V8Parsing.LexemV8
value object
Résultat bool
        internal bool TryParseValueFromV8String(Session session, LexemV8 lexem, out object value)
        {
            value = null;
            if (!IsPrimitiveType
                || lexem == null
                || lexem.LexemType != LexemV8Type.Brace
                || lexem.ChildLexemList == null
                || lexem.ChildLexemList.Count != 2)
            {
                return false;
            }
            string dataValue = lexem.ChildLexemList[1].Data.Trim();

            switch (Type)
            {
                case TypeEnum.Boolean:
                    value = !(dataValue == "0");
                    return true;
                case TypeEnum.Date:
                    DateTime dt;
                    if (DateTime.TryParseExact(dataValue, "yyyyMMddHHmmss", CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dt))
                    {
                        value = dt;
                        return true;
                    }
                    break;
                case TypeEnum.String:
                    if (dataValue.StartsWith("\""))
                    {
                        dataValue = dataValue.Remove(0, 1);
                    }
                    if (dataValue.EndsWith("\""))
                    {
                        dataValue = dataValue.Remove(dataValue.Length-1, 1);
                    }
                    value = dataValue;
                    return true;
                case TypeEnum.Decimal:
                    decimal dc;
                    if (decimal.TryParse(dataValue, NumberStyles.Number, CultureInfo.InvariantCulture, out dc))
                    {
                        value = dc;
                        return true;
                    }
                    break;
            }
            return false;
        }

Same methods

TypeInfo::TryParseValueFromV8String ( Session session, string strValue, object &value ) : bool