public static IEnumerable <MemberInfo> GetMember(this Type type, string name, Aqua.TypeSystem.MemberTypes memberType, BindingFlags bindingFlags) { var t = (MemberTypes)memberType; return(type.GetMember(name, t, bindingFlags)); }
public static IEnumerable <MemberInfo> GetMember(this Type type, string name, MemberTypes memberType, BindingFlags bindingAttr) { // Note: binding flags are simply ignored var members = new List <MemberInfo>(); if ((memberType & MemberTypes.Constructor) == MemberTypes.Constructor) { members.AddRange(type.GetTypeInfo().DeclaredConstructors.Where(x => string.Equals(x.Name, name, StringComparison.Ordinal))); } if ((memberType & MemberTypes.Field) == MemberTypes.Field) { members.Add(type.GetTypeInfo().GetDeclaredField(name)); } if ((memberType & MemberTypes.Method) == MemberTypes.Method) { members.AddRange(type.GetTypeInfo().GetDeclaredMethods(name)); } if ((memberType & MemberTypes.Property) == MemberTypes.Property) { members.Add(type.GetTypeInfo().GetDeclaredProperty(name)); } return(members.ToArray()); }
public static IEnumerable <MemberInfo> GetMember(this Type type, string name, Aqua.TypeSystem.MemberTypes memberType, BindingFlags bindingFlags) => type.GetMember(name, (MemberTypes)memberType, bindingFlags);