AppContext.SetSwitch(String, Boolean) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy kapcsoló értékét állítja be.
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éterek
- switchName
- String
A kapcsoló neve.
- isEnabled
- Boolean
A kapcsoló értéke.
Kivételek
switchName az null.
switchName az Empty.
Példák
Az alábbi kódsor beállít egy kapcsolót Switch.AmazingLib.ThrowOnExceptiontrue, amely egy régi viselkedést tesz lehetővé. A kódtár ezután a metódus meghívásával ellenőrizheti, hogy egy erőforrástár-fogyasztó beállította-e a TryGetSwitch kapcsoló értékét.
AppContext.SetSwitch("Switch.AmazingLib.ThrowOnException", true);
AppContext.SetSwitch("Switch.AmazingLib.ThrowOnException", true)
AppContext.SetSwitch("Switch.AmazingLib.ThrowOnException", True)
Megjegyzések
Az AppContext osztály lehetővé teszi a könyvtárírók számára, hogy egységes leiratkozási mechanizmust biztosítsanak az új funkciókhoz a felhasználók számára. Lazán összekapcsolt szerződést hoz létre az összetevők között a leiratkozási kérelem közlése érdekében. Ez a képesség általában fontos a meglévő funkciók módosításakor. Ezzel szemben már implicit módon is engedélyezve van az új funkciók használata.
A SetSwitch metódust egy alkalmazás (vagy egy tár) hívja meg egy kapcsoló értékének deklarálásához (amely mindig egy Boolean érték), amelyet egy függő tár határoz meg. A kapcsoló mindig implicit módon falseműködik, ami biztosítja az új viselkedést. A kapcsoló true beállítása engedélyezi, ami a korábbi viselkedést biztosítja. Az új viselkedést az is biztosítja, ha explicit módon beállítja a kapcsolót false-ra. A függő kódtár ezután a metódus meghívásával TryGetSwitch ellenőrizheti a kapcsoló értékét.
Note
Érdemes konzisztens formátumot használni a kapcsolónevekhez, mivel ezek egy kódtár által közzétett hivatalos szerződés. Az alábbiak két nyilvánvaló formátumot jelentenek.
- Kapcsoló.névtér.kapcsolónév
- Kapcsoló.könyvtár.kapcsolónév
A .NET-keretrendszeren futó alkalmazások esetében a kapcsoló programozott módon történő beállítása mellett a következőket is beállíthatja:
Ha hozzáadja a kapcsoló nevét és értékét az <AppContextSwitchOverrides> elemhez egy <alkalmazáskonfigurációs fájl futtatókörnyezeti> szakaszában. Az alábbiak például egy olyan kapcsolót
Libraries.FPLibrary.UseExactFloatingPointComparisonhatároznak meg, amelynek az értéke .False<configuration> <runtime> <AppContextSwitchOverrides value="Libraries.FPLibrary.UseExactFloatingPointComparison=false" /> </runtime> </configuration>Ha hozzáad egy sztringértéket, amelynek a neve a kapcsoló neve a HKLM\SOFTWARE\Microsoft\. NETFramework\AppContext (és HKLM\SOFTWARE\Wow6432Node\Microsoft\. NETFramework\AppContext) alkulcsok a beállításjegyzékben. Az értéknek egy metódussal Boolean elemezhető karakterlánc-ábrázolásnak Boolean.Parse kell lennie, vagyis "Igaz", "igaz", "Hamis" vagy "hamis" értéknek kell lennie.
Ha a beállításjegyzék-bejegyzés létezik, annak értékét az isEnabled argumentum felülírja, amikor SetSwitch meghívják. Ez azt jelzi, hogy a SetSwitch metódus legutóbbi hívása felülírja a beállításjegyzékben, egy alkalmazáskonfigurációs fájlban vagy a SetSwitch metódus korábbi hívásaiban definiált értéket.