Beispiel #1
0
 public static T Find <T>(this IParameterizedMemberCollection <T> collection, string name, Func <IType, bool> arg1, Func <IType, bool> arg2)
     where T : IParameterizedMember
 {
     return(collection.Find(name, m =>
     {
         var p = m.Parameters;
         if (p.Count != 2)
         {
             return false;
         }
         return arg1(p[0].Type) && arg2(p[1].Type);
     }));
 }
Beispiel #2
0
 public static T Find <T>(this IParameterizedMemberCollection <T> collection, string name, IType arg1)
     where T : IParameterizedMember
 {
     return(collection.Find(name, m =>
     {
         var p = m.Parameters;
         if (p.Count != 1)
         {
             return false;
         }
         return Signature.TypeEquals(p[0].Type, arg1);
     }));
 }
Beispiel #3
0
 public static T Find <T>(this IParameterizedMemberCollection <T> collection, string name,
                          Predicate <IParameterCollection> predicate)
     where T : IParameterizedMember
 {
     return(collection.Find(name, m => predicate(m.Parameters)));
 }
Beispiel #4
0
 public static T Find <T>(this IParameterizedMemberCollection <T> collection, string name, Func <T, bool> predicate)
     where T : IParameterizedMember
 {
     return(collection.Find(name).FirstOrDefault(predicate));
 }
Beispiel #5
0
 public static T Find <T>(this IParameterizedMemberCollection <T> collection, string name, params IType[] types)
     where T : IParameterizedMember
 {
     return(collection.Find(name, m => Signature.Equals(m.Parameters, types)));
 }
Beispiel #6
0
 public static T Find <T>(this IParameterizedMemberCollection <T> collection, string name, int argc)
     where T : IParameterizedMember
 {
     return(collection.Find(name, m => m.Parameters.Count == argc));
 }