예제 #1
0
        internal void Register <T, TPermissionCheck, TResult>(TPermissionCheck permissionCheck)
            where TResult : PermissionCheckResult, new()
            where TPermissionCheck : BasePermissionCheck <TResult>, new()
        {
            var item = new PermissionRegistryItem();

            item.Set <TPermissionCheck, TResult>(permissionCheck);

            this.permissionRegistry.Add(typeof(T), item);
        }
예제 #2
0
        internal PermissionRegistryItem GetPermission <T>()
        {
            var type = typeof(T);

            PermissionRegistryItem value = null;

            if (this.Check(type) && this.permissionRegistry.TryGetValue(type, out value))
            {
                return(value);
            }

            return(null);
        }