Example #1
0
        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());
        }
Example #3
0
 public static IEnumerable <MemberInfo> GetMember(this Type type, string name, Aqua.TypeSystem.MemberTypes memberType, BindingFlags bindingFlags)
 => type.GetMember(name, (MemberTypes)memberType, bindingFlags);