Partager via


AppContext.SetSwitch(String, Boolean) Méthode

Définition

Définit la valeur d’un commutateur.

public:
 static void SetSwitch(System::String ^ switchName, bool isEnabled);
public static void SetSwitch (string switchName, bool isEnabled);
static member SetSwitch : string * bool -> unit
Public Shared Sub SetSwitch (switchName As String, isEnabled As Boolean)

Paramètres

switchName
String

Nom du commutateur.

isEnabled
Boolean

Valeur du commutateur.

Exceptions

switchName a la valeur null.

switchName a la valeur Empty.

Exemples

La ligne de code suivante définit un commutateur nommé Switch.AmazingLib.ThrowOnException sur true, ce qui active un comportement hérité. La bibliothèque peut ensuite case activée si un consommateur de bibliothèque a défini la valeur du commutateur en appelant la TryGetSwitch méthode .

AppContext.SetSwitch("Switch.AmazingLib.ThrowOnException", true);
AppContext.SetSwitch("Switch.AmazingLib.ThrowOnException", true)
AppContext.SetSwitch("Switch.AmazingLib.ThrowOnException", True)

Remarques

La AppContext classe permet aux rédacteurs de bibliothèque de fournir un mécanisme de désactivation uniforme pour les nouvelles fonctionnalités pour leurs utilisateurs. Elle établit un contrat souple entre les composants pour la communication des demandes de désactivation. Cette fonctionnalité est particulièrement importante quand une modification est apportée aux fonctionnalités existantes. À l'inverse, il existe déjà une activation implicite des nouvelles fonctionnalités.

La SetSwitch méthode est appelée par une application (ou une bibliothèque) pour déclarer la valeur d’un commutateur (qui est toujours une Boolean valeur) définie par une bibliothèque dépendante. Le commutateur est toujours implicitement false, ce qui fournit le nouveau comportement. La définition du commutateur sur true l’active, ce qui fournit le comportement hérité. La définition explicite du commutateur sur false fournit également le nouveau comportement. La bibliothèque dépendante peut ensuite case activée la valeur du commutateur en appelant la TryGetSwitch méthode .

Notes

Il est utile d’utiliser un format cohérent pour les noms de commutateurs, car il s’agit d’un contrat formel exposé par une bibliothèque. Voici les deux formats évidents.

  • Commutateur.espace de noms.nom_commutateur
  • Commutateur.bibliothèque.nom_commutateur

Pour les applications s’exécutant sur .NET Framework, en plus de définir la valeur d’un commutateur par programmation, il peut également être défini :

  • En ajoutant le nom et la valeur du commutateur à l’élément <AppContextSwitchOverrides> dans la <section runtime> d’un fichier de configuration d’application. Par exemple, l’élément suivant définit un commutateur nommé Libraries.FPLibrary.UseExactFloatingPointComparison dont la valeur est False.

    <configuration>
       <runtime>
          <AppContextSwitchOverrides value="Libraries.FPLibrary.UseExactFloatingPointComparison=false" />
       </runtime>
    </configuration>
    
  • En ajoutant une valeur de chaîne dont le nom est le nom du commutateur à HKLM\SOFTWARE\Microsoft\. NETFramework\AppContext (et HKLM\SOFTWARE\Wow6432Node\Microsoft\. Sous-clés NETFramework\AppContext) dans le Registre. Sa valeur doit être la représentation sous forme de chaîne d’un Boolean qui peut être analysée par la Boolean.Parse méthode ; autrement dit, elle doit être « True », « true », « false » ou « false ».

Si l’entrée de Registre existe, sa valeur est remplacée par l’argument isEnabled quand SetSwitch est appelé. Autrement dit, l’appel le plus récent à la SetSwitch méthode remplace la valeur définie dans le Registre, dans un fichier de configuration d’application ou par les appels précédents à la SetSwitch méthode.

S’applique à

Voir aussi