粘贴别人代码--参考

public static void SetPermissions(this Form form, Func<Form, IDictionary<string,bool>> getPermissionsHandler)
07{
08    Type t = form.GetType();
09    FieldInfo[] fs = t.GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static);
10    IDictionary<string,bool> permissions = getPermissionsHandler(form);
11    foreach (FieldInfo fin fs)
12    {
13        dynamic component = f.GetValue(form);
14        if (componentis System.ComponentModel.Component && permissions.ContainsKey(f.Name))
15        {
16            try
17            {
18                component.Enabled = permissions[f.Name];
19            }
20            catch { }
21        }
22    }
23}