static IPermissible Serialize(Dictionary <string, string> dict) { var p = new PermissibleBase(); foreach (var pair in dict) { Enum.TryParse(pair.Value, true, out PermissionType type); p.SetPermission(new Permission(pair.Key, type)); } return(p); }
public static void Test() { var a = typeof(PermissibleBase); Activator.CreateInstance(a); var perm = new PermissibleBase(); perm.SetPermission("no"); Console.WriteLine(perm.HasPermission("no.*")); // true Console.WriteLine(perm.HasPermission("no u.*")); // false perm.SetPermission("no u haha"); Console.WriteLine(perm.HasPermission("no u.*")); // true Console.WriteLine(perm.HasPermission("no me.*")); // false perm.SetOp(true); Console.WriteLine(perm.HasPermission("no me.*")); // true; op Console.WriteLine(perm.HasPermission(new Permission("no me.*", PermissionType.False))); // false }