Akka.Configuration.Hocon.HoconValue.GetObject C# (CSharp) Метод

GetObject() публичный Метод

Retrieves the HoconObject from this HoconValue.
public GetObject ( ) : HoconObject
Результат HoconObject
        public HoconObject GetObject()
        {
            //TODO: merge objects?
            IHoconElement raw = Values.FirstOrDefault();
            var o = raw as HoconObject;
            var sub = raw as IMightBeAHoconObject;
            if (o != null) return o;
            if (sub != null && sub.IsObject()) return sub.GetObject();
            return null;
        }

Usage Example

Пример #1
0
        private void ParseObject(HoconValue owner, bool root, string currentPath)
        {
            if (owner.IsObject())
            {
                //the value of this KVP is already an object
            }
            else
            {
                //the value of this KVP is not an object, thus, we should add a new
                owner.NewValue(new HoconObject());
            }

            HoconObject currentObject = owner.GetObject();

            while (!_reader.EoF)
            {
                Token t = _reader.PullNext();
                switch (t.Type)
                {
                case TokenType.Include:
                    var included      = _includeCallback(t.Value);
                    var substitutions = included.Substitutions;
                    foreach (var substitution in substitutions)
                    {
                        //fixup the substitution, add the current path as a prefix to the substitution path
                        substitution.Path = currentPath + "." + substitution.Path;
                    }
                    _substitutions.AddRange(substitutions);
                    var otherObj = included.Value.GetObject();
                    owner.GetObject().Merge(otherObj);

                    break;

                case TokenType.EoF:
                    break;

                case TokenType.Key:
                    HoconValue value    = currentObject.GetOrCreateKey(t.Value);
                    var        nextPath = currentPath == "" ? t.Value : currentPath + "." + t.Value;
                    ParseKeyContent(value, nextPath);
                    if (!root)
                    {
                        return;
                    }
                    break;

                case TokenType.ObjectEnd:
                    return;
                }
            }
        }
All Usage Examples Of Akka.Configuration.Hocon.HoconValue::GetObject