private bool IsChild(MemberPath candidate) { string[] segments = GetSegments(); string[] candidateSegments = candidate.GetSegments(); return(candidateSegments.Length > segments.Length && candidateSegments.Take(segments.Length).SequenceEqual(segments)); }
private bool IsParent(MemberPath candidate) { string[] segments = GetSegments(); string[] candidateSegments = candidate.GetSegments(); return(candidateSegments.Length < segments.Length && candidateSegments.SequenceEqual(segments.Take(candidateSegments.Length))); }
public bool IsSameAs(MemberPath candidate) { if (candidate.declaringType != declaringType) { return(false); } string[] segments = GetSegments(); string[] candidateSegments = candidate.GetSegments(); return(candidateSegments.SequenceEqual(segments)); }