Ejemplo n.º 1
0
 public CommandsBuilder(Type type)
 {
     this.type          = type;
     className          = type.Name;
     fieldsSettings     = new PropertyBuilderSettings();
     propertiesSettings = new PropertyBuilderSettings();
     methodsSettings    = new MemberBuilderSettings();
 }
Ejemplo n.º 2
0
        T[] GetMembersForSettings <T>(MemberBuilderSettings settings, Func <BindingFlags, T[]> callback) where T : MemberInfo
        {
            BindingFlags flags   = GetBindingFlagsForSettings(settings);
            List <T>     members = callback(flags).ToList();

            members.RemoveAll(x => settings.IsException(x));
            return(members.ToArray());
        }
Ejemplo n.º 3
0
 public CommandsBuilder(Type type, NotificationsHandler notificationsHandler)
 {
     this.type = type;
     this.notificationsHandler = notificationsHandler;
     className          = type.Name;
     fieldsSettings     = new PropertyBuilderSettings();
     propertiesSettings = new PropertyBuilderSettings();
     methodsSettings    = new MemberBuilderSettings();
 }
Ejemplo n.º 4
0
        BindingFlags GetBindingFlagsForSettings(MemberBuilderSettings settings)
        {
            BindingFlags flags = BindingFlags.DeclaredOnly;

            if (settings.accesModiferBindings.HasFlag(AccesModifierBindings.Public))
            {
                flags |= BindingFlags.Public;
            }
            if (settings.accesModiferBindings.HasFlag(AccesModifierBindings.NonPublic))
            {
                flags |= BindingFlags.NonPublic;
            }

            if (settings.staticBindings.HasFlag(StaticBindings.Instance))
            {
                flags |= BindingFlags.Instance;
            }
            if (settings.staticBindings.HasFlag(StaticBindings.Static))
            {
                flags |= BindingFlags.Static;
            }

            return(flags);
        }
Ejemplo n.º 5
0
 MethodInfo[] GetMethods(MemberBuilderSettings settings)
 {
     return(GetMembersForSettings(settings, type.GetMethods));
 }
Ejemplo n.º 6
0
 PropertyInfo[] GetProperties(MemberBuilderSettings settings)
 {
     return(GetMembersForSettings(settings, type.GetProperties));
 }