<PackageReference Include="System.Drawing.Common" Version="10.0.0-preview.3.25173.2" />

CoreAppContextSwitches

static class CoreAppContextSwitches
using System.Runtime.CompilerServices; namespace System.Private.Windows { [NullableContext(1)] [Nullable(0)] internal static class CoreAppContextSwitches { internal const string ClipboardDragDropEnableUnsafeBinaryFormatterSerializationSwitchName = "Windows.ClipboardDragDrop.EnableUnsafeBinaryFormatterSerialization"; internal const string ClipboardDragDropEnableNrbfSerializationSwitchName = "Windows.ClipboardDragDrop.EnableNrbfSerialization"; private static int s_clipboardDragDropEnableUnsafeBinaryFormatterSerialization; private static int s_clipboardDragDropEnableNrbfSerialization; public static bool ClipboardDragDropEnableUnsafeBinaryFormatterSerialization { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return GetCachedSwitchValue("Windows.ClipboardDragDrop.EnableUnsafeBinaryFormatterSerialization", ref s_clipboardDragDropEnableUnsafeBinaryFormatterSerialization); } } public static bool ClipboardDragDropEnableNrbfSerialization { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return GetCachedSwitchValue("Windows.ClipboardDragDrop.EnableNrbfSerialization", ref s_clipboardDragDropEnableNrbfSerialization); } } private static bool GetCachedSwitchValue(string switchName, ref int cachedSwitchValue) { if (cachedSwitchValue < 0) return false; if (cachedSwitchValue > 0) return true; return GetSwitchValue(switchName, ref cachedSwitchValue); } private static bool GetSwitchValue(string switchName, ref int cachedSwitchValue) { bool isEnabled; bool flag = AppContext.TryGetSwitch(switchName, out isEnabled); if (!flag) isEnabled = GetSwitchDefaultValue(switchName); AppContext.TryGetSwitch("TestSwitch.LocalAppContext.DisableCaching", out bool isEnabled2); if (!isEnabled2) cachedSwitchValue = (isEnabled ? 1 : (-1)); else if (!flag) { AppContext.SetSwitch(switchName, isEnabled); } return isEnabled; } private static bool GetSwitchDefaultValue(string switchName) { if (switchName == "Windows.ClipboardDragDrop.EnableNrbfSerialization") return true; return false; } } }