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.Next = attr; tmp = attr; } return(result); }
public void SetNext(AttributePath next) { if (next == null) { Next = null; return; } Next = next; Next.Parent = this; }