protected virtual object ResolveQualifiedName(Type targetType, object target, string[] name) { string cacheKey = PropertyPath.GetCacheKey(targetType, name); PropertyPath path = null; _propCache.TryGetValue(cacheKey, out path); if (path == null) { path = PropertyPath.Compile(targetType, name); if (path != null) { _propCache[cacheKey] = path; } } if (path != null) { return(path.Evaluate(target)); } return(null); }