AppContext.SetSwitch(String, Boolean) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Anahtarın değerini ayarlar.
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)
Parametreler
- switchName
- String
Anahtarın adı.
- isEnabled
- Boolean
Anahtarın değeri.
Özel durumlar
switchName
, null
değeridir.
switchName
, Empty değeridir.
Örnekler
Aşağıdaki kod satırı, eski bir davranışı etkinleştiren adlı Switch.AmazingLib.ThrowOnException
true
bir anahtar ayarlar. Kitaplık daha sonra yöntemini çağırarak TryGetSwitch bir kitaplık tüketicisinin anahtarın değerini ayarlayıp ayarlamadığını denetleyebilir.
AppContext.SetSwitch("Switch.AmazingLib.ThrowOnException", true);
AppContext.SetSwitch("Switch.AmazingLib.ThrowOnException", true)
AppContext.SetSwitch("Switch.AmazingLib.ThrowOnException", True)
Açıklamalar
sınıfı, AppContext kitaplık yazarlarının kullanıcıları için yeni işlevler için tekdüzen bir geri çevirme mekanizması sağlamasına olanak tanır. Bir geri çevirme isteğini iletmek için bileşenler arasında gevşek bir şekilde bağlanmış bir sözleşme oluşturur. Bu özellik, mevcut işlevsellikte bir değişiklik yapıldığında genellikle önemlidir. Buna karşılık, yeni işlevler için zaten örtük bir katılım vardır.
SetSwitch yöntemi, bağımlı bir kitaplığın tanımladığı bir anahtarın değerini (her zaman bir Boolean değerdir) bildirmek için bir uygulama (veya kitaplık) tarafından çağrılır. Anahtar her zaman örtük olarak false
şeklindedir ve bu da yeni davranışı sağlar. anahtarı olarak true
ayarlamak, eski davranışı sağlayan ayarı etkinleştirir. Anahtarı açıkça olarak olarak false
ayarlamak da yeni davranışı sağlar. Bağımlı kitaplık daha sonra yöntemini çağırarak TryGetSwitch anahtarın değerini denetleyebilir.
Not
Kitaplık tarafından kullanıma sunulan resmi bir sözleşme olduklarından, anahtar adları için tutarlı bir biçim kullanmak yararlı olur. Aşağıdaki iki belirgin biçimdir.
- Değiştir'i seçin. ad alanı. switchname
- Değiştir'i seçin. kitaplığını seçin. switchname
.NET Framework üzerinde çalışan uygulamalar için, bir anahtarın değerini program aracılığıyla ayarlamanın yanı sıra ayarlanabilir:
Anahtar adını ve değerini bir uygulama yapılandırma dosyasının çalışma zamanı> bölümündeki AppContextSwitchOverrides öğesine< ekleyerek.>< Örneğin, aşağıdaki değeri
False
olan adlıLibraries.FPLibrary.UseExactFloatingPointComparison
bir anahtar tanımlar.<configuration> <runtime> <AppContextSwitchOverrides value="Libraries.FPLibrary.UseExactFloatingPointComparison=false" /> </runtime> </configuration>
HKLM\SOFTWARE\Microsoft\ anahtarına anahtarın adı olan bir dize değeri ekleyerek. NETFramework\AppContext (ve HKLM\SOFTWARE\Wow6432Node\Microsoft\. Kayıt defterindeki NETFramework\AppContext) alt anahtarları. Değeri, yöntemi tarafından Boolean.Parse ayrıştırılabilir bir Boolean dize gösterimi olmalıdır; başka bir ifadeyle , "True", "true", "False" veya "false" olmalıdır.
Kayıt defteri girdisi varsa, çağrıldığında SetSwitch bağımsız değişkeni tarafından değerinin isEnabled
üzerine yazılır. Diğer bir ifadeyle, yöntemine yapılan SetSwitch en son çağrı kayıt defterinde, uygulama yapılandırma dosyasında veya yöntemine SetSwitch yapılan önceki çağrılarda tanımlanan değeri geçersiz kılar.