コード例 #1
0
        public static ServerRoleFilter <T> GetServerRoleFilter(ServerRole serverRole)
        {
            ServerRoleFilter <T> result;

            lock (ServerRoleFilter <T> .syncRoot)
            {
                if (ServerRoleFilter <T> .instances == null)
                {
                    ServerRoleFilter <T> .instances = new Hashtable();
                }
                if (ServerRoleFilter <T> .instances.Contains(serverRole))
                {
                    result = (ServerRoleFilter <T>)ServerRoleFilter <T> .instances[serverRole];
                }
                else
                {
                    ServerRoleFilter <T> serverRoleFilter = new ServerRoleFilter <T>(serverRole);
                    ServerRoleFilter <T> .instances.Add(serverRole, serverRoleFilter);

                    result = serverRoleFilter;
                }
            }
            return(result);
        }
コード例 #2
0
 internal override IEnumerableFilter <T> GetEnumerableFilter <T>()
 {
     return(ServerRoleFilter <T> .GetServerRoleFilter(this.RoleRestriction));
 }