private RuntimeMember FindIndexerMember(object instance, Type targetType) { if (parameterCount != 0) { return(null); } foreach (MemberInfo memberInfo in targetType.GetMembers(flags | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.FlattenHierarchy)) { if (memberInfo.Name != "get_Item") { continue; } RuntimeMember indexerMember = new IndexerMember(memberInfo, instance, memberName.SourceName); if (indexerMember.MatchesParameterCount(1) && indexerMember.GetParameterType(0) == typeof(string)) { return(indexerMember); } } return(null); }
private RuntimeMember FindIndexerMember(object instance, Type targetType) { if (parameterCount != 0) return null; foreach (MemberInfo memberInfo in targetType.GetMembers(flags | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.FlattenHierarchy)) { if (memberInfo.Name != "get_Item") continue; RuntimeMember indexerMember = new IndexerMember(memberInfo, instance, memberName.SourceName); if (indexerMember.MatchesParameterCount(1) && indexerMember.GetParameterType(0) == typeof(string)) { return indexerMember; } } return null; }