Beispiel #1
0
    //
    // Service
    //

    /// <summary>
    /// Obtient le <see cref="StatusReporterLabel"/> associé à la clé d'énumération.
    /// </summary>
    /// <param name="labelEnumOrName">clé d'énumération</param>
    /// <returns>le volet associé à la clé d'énumération</returns>
    protected StatusReporterLabel DoTryGetLabel( StatusLabels labelEnumOrName ) {
      StatusReporterLabel result = null;

      // aiguiller et filtrer selon la clé d'énumération
      switch ( labelEnumOrName ) {
        case StatusLabels.Left: result = statusLeft; break;
        case StatusLabels.Middle: result = statusMiddle; break;
        case StatusLabels.Right: result = statusRight; break;
        case StatusLabels.Infos: result = statusInfos; break;
        default: throw new ArgumentException( "La valeur ne figure pas dans l'énumération", "labelEnumOrName" );
      }

      // contrôler que le volet est disponible
      if ( !result.Displayed ) throw new ArgumentException( "Le volet standard " + labelEnumOrName.ToString() + " n'est pas actuellement disponible (Displayed==false)", "labelEnumOrName" );
      return result;
    }