public static bool HasMethodFlags(MethodInfo method, BindingFlags flags) { if (flags.HasFlags(BindingFlags.Public) && !method.IsPublic) { if (!flags.HasFlags(BindingFlags.NonPublic)) { return(false); } } else if (flags.HasFlags(BindingFlags.NonPublic) && method.IsPublic) { return(false); } if (flags.HasFlags(BindingFlags.Static) && !method.IsStatic) { if (flags.HasFlags(BindingFlags.Instance)) { return(false); } } else if (flags.HasFlags(BindingFlags.Instance) && method.IsStatic) { return(false); } return(true); }
public static bool HasFieldFlags(FieldInfo field, BindingFlags flags) { if (flags.HasFlags(BindingFlags.Public) && !field.IsPublic) { if (!flags.HasFlags(BindingFlags.NonPublic)) { return(false); } } else if (flags.HasFlags(BindingFlags.NonPublic) && field.IsPublic) { return(false); } if (flags.HasFlags(BindingFlags.Static) && !field.IsStatic) { if (!flags.HasFlags(BindingFlags.Instance)) { return(false); } } else if (flags.HasFlags(BindingFlags.Instance) && field.IsStatic) { return(false); } return(true); }