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); }