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); }
internal override IEnumerableFilter <T> GetEnumerableFilter <T>() { return(ServerRoleFilter <T> .GetServerRoleFilter(this.RoleRestriction)); }