/// <summary> /// Retourne cube qui peut être null. /// </summary> /// <param name="key">CubeKey.</param> /// <returns>CounterCube.</returns> ICube IHyperCube.GetCube(CubeKey key) { if (key == null) { throw new ArgumentNullException("key"); } HyperCubeRamCounters counters = GetCounters(key.Axis); return((counters == null) ? null : counters.GetCube(key)); }
/// <summary> /// Récupération des compteurs relatifs à une requête avec instanciation si nécessaire. /// </summary> /// <param name="axis">Nom de la requête.</param> /// <returns>Compteurs relatifs à une requête.</returns> private HyperCubeRamCounters ObtainCounters(string axis) { HyperCubeRamCounters requestCounters; lock (_requestCountersMap) { requestCounters = GetCounters(axis); if (requestCounters == null) { requestCounters = new HyperCubeRamCounters(axis, _name); _requestCountersMap.Add(axis, requestCounters); } } return(requestCounters); }