AppContext.SetSwitch(String, Boolean) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Ustawia wartość przełącznika.
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
Nazwa przełącznika.
- isEnabled
- Boolean
Wartość przełącznika.
Wyjątki
switchName
to null
.
switchName
to Empty.
Przykłady
Poniższy wiersz kodu ustawia przełącznik o nazwie Switch.AmazingLib.ThrowOnException
na true
, co umożliwia zachowanie starszej wersji. Biblioteka może następnie sprawdzić, czy użytkownik biblioteki ustawił wartość przełącznika, wywołując metodę TryGetSwitch .
AppContext.SetSwitch("Switch.AmazingLib.ThrowOnException", true);
AppContext.SetSwitch("Switch.AmazingLib.ThrowOnException", true)
AppContext.SetSwitch("Switch.AmazingLib.ThrowOnException", True)
Uwagi
Klasa AppContext umożliwia autorom bibliotek zapewnienie jednolitego mechanizmu rezygnacji dla nowych funkcji dla użytkowników. Ustanawia luźno powiązany kontrakt między składnikami w celu przekazania wniosku o rezygnację. Ta funkcja jest zwykle ważna w przypadku wprowadzenia zmiany w istniejących funkcjach. Z drugiej strony istnieje już niejawna zgoda na nowe funkcje.
Metoda SetSwitch jest wywoływana przez aplikację (lub bibliotekę), aby zadeklarować wartość przełącznika (który jest zawsze wartością Boolean ), którą definiuje biblioteka zależna. Przełącznik jest zawsze niejawnie false
, co zapewnia nowe zachowanie. Ustawienie przełącznika w celu true
włączenia go, co zapewnia starsze zachowanie. Jawne ustawienie przełącznika w celu false
zapewnia również nowe zachowanie. Biblioteka zależna może następnie sprawdzić wartość przełącznika, wywołując metodę TryGetSwitch .
Uwaga
Korzystne jest użycie spójnego formatu dla nazw przełączników, ponieważ są one formalnym kontraktem udostępnianym przez bibliotekę. Poniżej przedstawiono dwa oczywiste formaty.
- Przełącznik. przestrzeń nazw. switchname
- Przełącznik. biblioteka. switchname
W przypadku aplikacji działających na .NET Framework oprócz programowego ustawiania wartości przełącznika można również ustawić:
Dodając nazwę i wartość przełącznika do <elementu AppContextSwitchOverrides> w <sekcji środowiska uruchomieniowego> pliku konfiguracji aplikacji. Na przykład poniżej zdefiniowano przełącznik o nazwie
Libraries.FPLibrary.UseExactFloatingPointComparison
, którego wartość toFalse
.<configuration> <runtime> <AppContextSwitchOverrides value="Libraries.FPLibrary.UseExactFloatingPointComparison=false" /> </runtime> </configuration>
Dodając wartość ciągu, której nazwa jest nazwą przełącznika do HKLM\SOFTWARE\Microsoft\. NETFramework\AppContext (i HKLM\SOFTWARE\Wow6432Node\Microsoft\. Podklucze NETFramework\AppContext) w rejestrze. Jego wartość musi być reprezentacją Boolean ciągu, który może być analizowany przez metodę Boolean.Parse . Oznacza to, że musi mieć wartość "True", "true", "False" lub "false".
Jeśli wpis rejestru istnieje, jego wartość jest zastępowana przez isEnabled
argument, gdy SetSwitch jest wywoływany. Oznacza to, że najnowsze wywołanie SetSwitch metody zastępuje wartość zdefiniowaną w rejestrze, w pliku konfiguracji aplikacji lub przez poprzednie wywołania SetSwitch metody .