// // 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; }