public static MethodInfo BindToMethod(MemberInfo[] members, Type[] types, out ArgumentConversions bindings)
 {
     bindings = new ArgumentConversions(types.Length);
     foreach (var m in members)
     {
         if (m.MemberType == MemberTypes.Method)
         {
             if (MethodExtensions.MatchesArgumentTypes((MethodInfo)m, types, bindings))
             {
                 return((MethodInfo)m);
             }
         }
     }
     return(null);
 }
 public static MethodInfo GetOperatorOverload(string name, ArgumentConversions conversions, params Type[] types)
 {
     for (int i = 0; i < types.Length; i++)
     {
         var members = types[i].GetMember(name, PublicStatic);
         foreach (MethodInfo m in members)
         {
             if (MethodExtensions.MatchesArgumentTypes(m, types, conversions))
             {
                 return(m);
             }
         }
     }
     return(null);
 }