Пример #1
0
        public void BindToTypo(BindingConfigurator FTypeToControlMapping, string[] targetFilter = null, FilterMode filterOperation = FilterMode.Blacklist)
        {
            var filtredVars      = ApplyFilter(targetFilter, filterOperation);
            var mappedVars       = ApplyMapping(filtredVars, FTypeToControlMapping);
            var typeResolvedVars = ResolveTypes(mappedVars);

            DoBind(typeResolvedVars);
            DefaultPost();
            // Filter names                                 ( ApplyFilter    ) |
            // Map variabe type into fieldset               ( PreResolveType ) |
            // Create field of right type                   ( ResolveType    ) V
        }
Пример #2
0
        internal Dictionary <string, PreBindingArgs> ApplyMapping(FieldInfo[] target, BindingConfigurator FTypeToControlMapping = null)
        {
            Dictionary <string, PreBindingArgs> map = new Dictionary <string, PreBindingArgs>();

            foreach (FieldInfo finfo in target)
            {
                PreBindingArgs args = new PreBindingArgs
                {
                    TargetVariable_Type      = finfo.FieldType,
                    TargetVariable_Name      = finfo.Name,
                    TargetVariable_FieldInfo = finfo,
                    FieldSet_Name            = finfo.Name,
                    FieldSet_FieldType       = null,
                    FieldSet_FieldFlags      = FieldFlags.None,
                    DoBind = true,
                    Post   = null,
                };
                if (!map.ContainsKey(finfo.Name))
                {
                    map.Add(finfo.Name, args);
                }
            }
            FTypeToControlMapping?.Invoke(ref map);
            return(map);
        }