Sdílet prostřednictvím


AppContext.SetSwitch(String, Boolean) Metoda

Definice

Nastaví hodnotu přepínače.

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)

Parametry

switchName
String

Název přepínače

isEnabled
Boolean

Hodnota přepínače.

Výjimky

switchName je null.

switchName je Empty.

Příklady

Následující řádek kódu nastaví přepínač s názvem Switch.AmazingLib.ThrowOnException na true, který umožňuje chování starší verze. Knihovna pak může zkontrolovat, jestli příjemce knihovny nastavil hodnotu přepínače voláním TryGetSwitch metody .

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

Poznámky

Třída AppContext umožňuje zapisovačům knihoven poskytovat jednotný mechanismus pro odhlášení nových funkcí pro jejich uživatele. Za účelem komunikace s požadavkem na odhlášení vytvoří mezi komponentami volně vázanou smlouvu. Tato funkce je obvykle důležitá, když se změní stávající funkce. Naopak už existuje implicitní výslovný souhlas s novými funkcemi.

Metoda SetSwitch je volána aplikací (nebo knihovnou) k deklarování hodnoty přepínače (což je vždy Boolean hodnota), kterou definuje závislá knihovna. Přepínač je vždy implicitně false, což poskytuje nové chování. Nastavením přepínače na true ho povolíte, což poskytuje chování starší verze. Explicitní nastavení přepínače na false také poskytuje nové chování. Závislá knihovna pak může zkontrolovat hodnotu přepínače voláním TryGetSwitch metody .

Poznámka

Pro názvy přepínačů je výhodné používat konzistentní formát, protože se jedná o formální kontrakt vystavený knihovnou. Níže jsou uvedené dva zřejmé formáty.

  • Přepnout. obor názvů. název_přepínače
  • Přepnout. knihovnu. název_přepínače

Pro aplikace spuštěné v rozhraní .NET Framework je možné kromě nastavení hodnoty přepínače prostřednictvím kódu programu nastavit také:

  • Přidáním názvu a hodnoty přepínače do elementu <AppContextSwitchOverrides> v oddílu <modulu runtime> konfiguračního souboru aplikace. Následující příklad definuje přepínač s názvem Libraries.FPLibrary.UseExactFloatingPointComparison , jehož hodnota je False.

    <configuration>
       <runtime>
          <AppContextSwitchOverrides value="Libraries.FPLibrary.UseExactFloatingPointComparison=false" />
       </runtime>
    </configuration>
    
  • Přidáním řetězcové hodnoty, jejíž název je název přepínače, do HKLM\SOFTWARE\Microsoft\. NETFramework\AppContext (a HKLM\SOFTWARE\Wow6432Node\Microsoft\. PODklíče NETFramework\AppContext) v registru. Jeho hodnota musí být řetězcová reprezentace objektu Boolean , který může být parsován metodou Boolean.Parse ; to znamená, že musí být "True", "true", "False" nebo "false".

Pokud položka registru existuje, její hodnota se při SetSwitch zavolání přepíše argumentemisEnabled. To znamená, že poslední volání SetSwitch metody přepíše hodnotu definovanou v registru, v konfiguračním souboru aplikace nebo předchozím voláním SetSwitch metody.

Platí pro

Viz také