public bool Like(TypeMemberPath path) { var thisSeq = new Queue<string>(this.Sections); var otherSeq = new Queue<string>(path.Sections); while (thisSeq.Count > 0 && otherSeq.Count > 0) { if (thisSeq.Dequeue() != otherSeq.Dequeue()) { return false; } } return otherSeq.Count == 0; }
public ColumnMap(TypeMemberPath memberPath, StatementBlock statement) { MemberPath = memberPath; Statement = statement; }
public IEnumerable<ColumnMap> Like(TypeMemberPath path) { return queryMap.Where(_ => _.MemberPath.Like(path)); }
public TypeMemberPath RightShift(string name) { var result = new TypeMemberPath(Sections); result.sections.Insert(0, name); return result; }