AppContext.SetSwitch(String, Boolean) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 estFalse
.<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.