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 }
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); }