internal static bool IsMatchFull( this PropertyInfo property, string name, Type returnType, Type[] parameterTypes, BindingFlags flags) { if (property == null) { return(false); } var getMethod = property.GetGetMethod((flags & BindingFlags.NonPublic) != 0); if (getMethod == null) { return(false); } return(property.Name.Equals(name, flags.GetComparison()) && DoesMatchFlags(getMethod, flags) && IsMatchExtended(getMethod, parameterTypes, callConvention: 0) && Util.DoTypesMatch(returnType, getMethod.ReturnType)); }
internal static bool IsMatch(this FieldInfo field, string name, BindingFlags flags) { return((name?.Equals(field?.Name, flags.GetComparison()) ?? false) && DoesMatchFlags(field, flags)); }
internal static bool IsMatch(this Type type, string name, BindingFlags flags) { return((name?.Equals(type?.Name, flags.GetComparison()) ?? false) && DoesMatchFlags(type, flags)); }
internal static bool IsMatch(this EventInfo eventInfo, string name, BindingFlags flags) { return((name?.Equals(eventInfo?.Name, flags.GetComparison()) ?? false) && DoesMatchFlags(eventInfo, flags)); }
internal static bool IsMatch(this MemberInfo member, string name, BindingFlags flags) { return((name?.Equals(member?.Name, flags.GetComparison()) ?? false) && DoesMatchFlags(member, flags)); }