public MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo,
                                         Type destType, string nameToSearch)
 {
     return
         (getTypeInfoMembers.GetMemberInfos(typeInfo)
          .FirstOrDefault(mi => string.Compare(mi.Name, nameToSearch, StringComparison.OrdinalIgnoreCase) == 0));
 }
Exemplo n.º 2
0
 public MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo, Type destType, Type destMemberType, string nameToSearch)
 {
     return
         (getTypeInfoMembers.GetMemberInfos(typeInfo)
          .FirstOrDefault(
              mi =>
              typeof(ParameterInfo).IsAssignableFrom(destType) || !MethodCaseSensitive
                         ? string.Compare(mi.Name, nameToSearch, StringComparison.OrdinalIgnoreCase) == 0
                         : string.CompareOrdinal(mi.Name, nameToSearch) == 0));
 }
Exemplo n.º 3
0
 public MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo, Type destType, Type destMemberType, string nameToSearch)
 {
     return
         getTypeInfoMembers.GetMemberInfos(typeInfo)
             .FirstOrDefault(
                 mi =>
                     typeof (ParameterInfo).IsAssignableFrom(destType) || !MethodCaseSensitive
                         ? string.Compare(mi.Name, nameToSearch, StringComparison.OrdinalIgnoreCase) == 0
                         : string.CompareOrdinal(mi.Name, nameToSearch) == 0);
 }
 public MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo, Type destType, Type destMemberType, string nameToSearch)
 {
     SourceMember[] sourceMembers;
     if(!allSourceMembers.TryGetValue(typeInfo, out sourceMembers))
     {
         sourceMembers = getTypeInfoMembers.GetMemberInfos(typeInfo).Select(sourceMember => new SourceMember(sourceMember)).Where(s=>s.Attribute != null).ToArray();
         allSourceMembers[typeInfo] = sourceMembers.Length == 0 ? Empty : sourceMembers;
     }
     return sourceMembers.FirstOrDefault(d => d.Attribute.IsMatch(typeInfo, d.Member, destType, destMemberType, nameToSearch)).Member;
 }
Exemplo n.º 5
0
 public MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo, Type destType, Type destMemberType, string nameToSearch)
 {
     SourceMember[] sourceMembers;
     if (!allSourceMembers.TryGetValue(typeInfo, out sourceMembers))
     {
         sourceMembers = getTypeInfoMembers.GetMemberInfos(typeInfo).Select(sourceMember => new SourceMember(sourceMember)).Where(s => s.Attribute != null).ToArray();
         allSourceMembers[typeInfo] = sourceMembers.Length == 0 ? Empty : sourceMembers;
     }
     return(sourceMembers.FirstOrDefault(d => d.Attribute.IsMatch(typeInfo, d.Member, destType, destMemberType, nameToSearch)).Member);
 }
Exemplo n.º 6
0
        public MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo, Type destType, Type destMemberType, string nameToSearch)
        {
            var possibleSourceNames = PossibleNames(nameToSearch, DestinationPrefixes, DestinationPostfixes);
            var possibleDestNames = getTypeInfoMembers.GetMemberInfos(typeInfo).Select(mi => new { mi, possibles = PossibleNames(mi.Name, Prefixes, Postfixes) });

            var all =
                from sourceName in possibleSourceNames
                from destName in possibleDestNames
                select new { sourceName, destName };
            var match =
                all.FirstOrDefault(
                    pair => pair.destName.possibles.Any(p => string.Compare(p, pair.sourceName, StringComparison.OrdinalIgnoreCase) == 0));
            return match?.destName.mi;
        }
Exemplo n.º 7
0
        public MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo, Type destType, Type destMemberType, string nameToSearch)
        {
            var possibleSourceNames = DestinationPostfixes.Any() || DestinationPrefixes.Any()
                ? PossibleNames(nameToSearch, DestinationPrefixes, DestinationPostfixes)
                : new[] {nameToSearch};

            var all =
                from sourceName in possibleSourceNames
                from destName in typeInfo.DestinationMemberNames
                select new { sourceName, destName };
            var match =
                all.FirstOrDefault(
                    pair => pair.destName.Possibles.Any(p => string.Compare(p, pair.sourceName, StringComparison.OrdinalIgnoreCase) == 0));
            return match?.destName.Member;
        }
        public MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo,
                                                Type destType, string nameToSearch)
        {
            Cache.GetOrAdd(typeInfo,
                           ti =>
                           getTypeInfoMembers.GetMemberInfos(ti)
                           .ToDictionary(mi => mi,
                                         mi =>
                                         mi.GetCustomAttributes(typeof(SourceToDestinationMapperAttribute), true)
                                         .OfType <SourceToDestinationMapperAttribute>()));

            return
                (Cache[typeInfo].FirstOrDefault(
                     kp => kp.Value.Any(_ => _.IsMatch(typeInfo, kp.Key, destType, nameToSearch))).Key);
        }
        public MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo, Type destType, string nameToSearch)
        {
            var possibleSourceNames = PossibleNames(nameToSearch, DestinationPrefixes, DestinationPostfixes);
            var possibleDestNames   = getTypeInfoMembers.GetMemberInfos(typeInfo).Select(mi => new { mi, possibles = PossibleNames(mi.Name, Prefixes, Postfixes) });

            var all =
                from sourceName in possibleSourceNames
                from destName in possibleDestNames
                select new { sourceName, destName };
            var match =
                all.FirstOrDefault(
                    pair => pair.destName.possibles.Any(p => string.Compare(p, pair.sourceName, StringComparison.OrdinalIgnoreCase) == 0));

            return(match?.destName.mi);
        }
        public MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo, Type destType, Type destMemberType, string nameToSearch)
        {
            var possibleSourceNames = DestinationPostfixes.Any() || DestinationPrefixes.Any()
                ? PossibleNames(nameToSearch, DestinationPrefixes, DestinationPostfixes)
                : new[] { nameToSearch };

            var all =
                from sourceName in possibleSourceNames
                from destName in typeInfo.DestinationMemberNames
                select new { sourceName, destName };
            var match =
                all.FirstOrDefault(
                    pair => pair.destName.Possibles.Any(p => string.Compare(p, pair.sourceName, StringComparison.OrdinalIgnoreCase) == 0));

            return(match?.destName.Member);
        }
Exemplo n.º 11
0
        public MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo, Type destType, Type destMemberType, string nameToSearch)
        {
            var member = typeInfo.GetMember(nameToSearch);

            if (member != null)
            {
                return(member);
            }
            foreach (var possibleSourceName in TypeDetails.PossibleNames(nameToSearch, _destinationPrefixes, _destinationPostfixes))
            {
                if ((member = typeInfo.GetMember(possibleSourceName)) != null)
                {
                    return(member);
                }
            }
            return(null);
        }
        public MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo, Type destType, string nameToSearch)
        {
            var possibleSourceNames = PossibleNames(nameToSearch);
            var possibleDestNames   = getTypeInfoMembers.GetMemberInfos(typeInfo).Select(mi => new { mi, possibles = PossibleNames(mi.Name) });

            var all =
                from sourceName in possibleSourceNames
                from destName in possibleDestNames
                select new { sourceName, destName };
            var match =
                all.FirstOrDefault(
                    pair => pair.destName.possibles.Any(p => string.CompareOrdinal(p, pair.sourceName) == 0));

            if (match == null)
            {
                return(null);
            }
            return(match.destName.mi);
        }
Exemplo n.º 13
0
 public MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo, Type destType, Type destMemberType, string nameToSearch)
 {
     if (!_allSourceMembers.TryGetValue(typeInfo, out SourceMember[] sourceMembers))
Exemplo n.º 14
0
 public override MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo, Type destType, Type destMemberType, string nameToSearch) =>
 typeInfo.GetMember(nameToSearch);
Exemplo n.º 15
0
 public MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo, Type destType, Type destMemberType, string nameToSearch)
 {
     return
         getTypeInfoMembers.GetMemberInfos(typeInfo)
             .FirstOrDefault(mi => string.Compare(mi.Name, nameToSearch, StringComparison.OrdinalIgnoreCase) == 0);
 }
        public MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo, Type destType, Type destMemberType, string nameToSearch)
        {
            Cache.GetOrAdd(typeInfo, ti => getTypeInfoMembers.GetMemberInfos(ti).ToDictionary(mi => mi, mi => mi.GetCustomAttributes(typeof(SourceToDestinationMapperAttribute), true).OfType<SourceToDestinationMapperAttribute>()));

            return Cache[typeInfo].FirstOrDefault(kp => kp.Value.Any(_ => _.IsMatch(typeInfo, kp.Key, destType, destMemberType, nameToSearch))).Key;
        }