Exemplo n.º 1
0
        private static AttributePath GetPath(string path)
        {
            var           values = SplitPath(path);
            AttributePath result = null;
            AttributePath tmp    = null;

            foreach (var value in values)
            {
                var startIndex = value.IndexOf('[');
                var endIndex   = value.IndexOf(']');
                var attr       = new AttributePath
                {
                    Name = value
                };

                if (startIndex > -1 && endIndex > -1)
                {
                    attr.Name = value.Substring(0, startIndex);
                    var filter = value.Substring(startIndex + 1, endIndex - startIndex - 1);
                    attr.ValueFilter = ParseFilter(filter);
                }

                if (result == null)
                {
                    result = attr;
                    tmp    = result;
                    continue;
                }

                tmp.SetNext(attr);
                tmp = attr;
            }

            return(result);
        }
Exemplo n.º 2
0
        public void SetNext(AttributePath next)
        {
            if (next == null)
            {
                Next = null;
                return;
            }

            Next        = next;
            Next.Parent = this;
        }