Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / System / Diagnostics / TraceSwitch.cs / 1305376 / TraceSwitch.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Diagnostics { using System; using System.ComponentModel; using System.Security; using System.Security.Permissions; ////// [SwitchLevel(typeof(TraceLevel))] public class TraceSwitch : Switch { ///Provides a multi-level switch to enable or disable tracing /// and debug output for a compiled application or framework. ////// public TraceSwitch(string displayName, string description) : base(displayName, description) { } public TraceSwitch(string displayName, string description, string defaultSwitchValue) : base(displayName, description, defaultSwitchValue) { } ///Initializes a new instance of the ///class. /// public TraceLevel Level { get { return (TraceLevel)SwitchSetting; } [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)] set { if (value < TraceLevel.Off || value > TraceLevel.Verbose) throw new ArgumentException(SR.GetString(SR.TraceSwitchInvalidLevel)); SwitchSetting = (int)value; } } ///Gets or sets the trace /// level that specifies what messages to output for tracing and debugging. ////// public bool TraceError { get { return (Level >= TraceLevel.Error); } } ///Gets a value /// indicating whether the ///is set to /// , , , or /// . /// public bool TraceWarning { get { return (Level >= TraceLevel.Warning); } } ///Gets a value /// indicating whether the ///is set to /// , , or . /// public bool TraceInfo { get { return (Level >= TraceLevel.Info); } } ///Gets a value /// indicating whether the ///is set to /// or . /// public bool TraceVerbose { get { return (Level == TraceLevel.Verbose); } } ///Gets a value /// indicating whether the ///is set to /// . /// protected override void OnSwitchSettingChanged() { int level = SwitchSetting; if (level < (int)TraceLevel.Off) { Trace.WriteLine(SR.GetString(SR.TraceSwitchLevelTooLow, DisplayName)); SwitchSetting = (int)TraceLevel.Off; } else if (level > (int)TraceLevel.Verbose) { Trace.WriteLine(SR.GetString(SR.TraceSwitchLevelTooHigh, DisplayName)); SwitchSetting = (int)TraceLevel.Verbose; } } protected override void OnValueChanged() { SwitchSetting = (int) Enum.Parse(typeof(TraceLevel), Value, true); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ ///// Update the level for this switch. /// ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Diagnostics { using System; using System.ComponentModel; using System.Security; using System.Security.Permissions; ////// [SwitchLevel(typeof(TraceLevel))] public class TraceSwitch : Switch { ///Provides a multi-level switch to enable or disable tracing /// and debug output for a compiled application or framework. ////// public TraceSwitch(string displayName, string description) : base(displayName, description) { } public TraceSwitch(string displayName, string description, string defaultSwitchValue) : base(displayName, description, defaultSwitchValue) { } ///Initializes a new instance of the ///class. /// public TraceLevel Level { get { return (TraceLevel)SwitchSetting; } [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)] set { if (value < TraceLevel.Off || value > TraceLevel.Verbose) throw new ArgumentException(SR.GetString(SR.TraceSwitchInvalidLevel)); SwitchSetting = (int)value; } } ///Gets or sets the trace /// level that specifies what messages to output for tracing and debugging. ////// public bool TraceError { get { return (Level >= TraceLevel.Error); } } ///Gets a value /// indicating whether the ///is set to /// , , , or /// . /// public bool TraceWarning { get { return (Level >= TraceLevel.Warning); } } ///Gets a value /// indicating whether the ///is set to /// , , or . /// public bool TraceInfo { get { return (Level >= TraceLevel.Info); } } ///Gets a value /// indicating whether the ///is set to /// or . /// public bool TraceVerbose { get { return (Level == TraceLevel.Verbose); } } ///Gets a value /// indicating whether the ///is set to /// . /// protected override void OnSwitchSettingChanged() { int level = SwitchSetting; if (level < (int)TraceLevel.Off) { Trace.WriteLine(SR.GetString(SR.TraceSwitchLevelTooLow, DisplayName)); SwitchSetting = (int)TraceLevel.Off; } else if (level > (int)TraceLevel.Verbose) { Trace.WriteLine(SR.GetString(SR.TraceSwitchLevelTooHigh, DisplayName)); SwitchSetting = (int)TraceLevel.Verbose; } } protected override void OnValueChanged() { SwitchSetting = (int) Enum.Parse(typeof(TraceLevel), Value, true); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007./// Update the level for this switch. /// ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Translator.cs
- DPTypeDescriptorContext.cs
- WebBrowserEvent.cs
- Route.cs
- SqlNodeAnnotation.cs
- DNS.cs
- UIAgentCrashedException.cs
- ReadOnlyDataSourceView.cs
- AppDomainAttributes.cs
- BinaryParser.cs
- MultiTrigger.cs
- ReaderContextStackData.cs
- CodePageUtils.cs
- WmlCalendarAdapter.cs
- SqlErrorCollection.cs
- ProfileBuildProvider.cs
- DragCompletedEventArgs.cs
- StagingAreaInputItem.cs
- ButtonFieldBase.cs
- recordstatefactory.cs
- HttpFileCollectionBase.cs
- CodeGenerationManager.cs
- ComAwareEventInfo.cs
- StringDictionaryCodeDomSerializer.cs
- TableParaClient.cs
- ControlCollection.cs
- ContextMenu.cs
- StringDictionary.cs
- ObjRef.cs
- DialogBaseForm.cs
- ClientSettingsStore.cs
- DiagnosticsConfigurationHandler.cs
- PageStatePersister.cs
- COM2ExtendedTypeConverter.cs
- MimeTypePropertyAttribute.cs
- Table.cs
- DbConnectionStringCommon.cs
- EventsTab.cs
- IssuanceLicense.cs
- ImageListUtils.cs
- RtfNavigator.cs
- ProcessManager.cs
- FocusWithinProperty.cs
- MetadataArtifactLoader.cs
- Invariant.cs
- KeyValuePair.cs
- BooleanSwitch.cs
- DbConnectionOptions.cs
- QueryCacheKey.cs
- DataSourceCache.cs
- TagPrefixInfo.cs
- SimpleTableProvider.cs
- SourceFileBuildProvider.cs
- StylusSystemGestureEventArgs.cs
- RelationshipEndCollection.cs
- Intellisense.cs
- DrawingImage.cs
- StringToken.cs
- WizardPanel.cs
- LocalizableResourceBuilder.cs
- DateTimeOffsetAdapter.cs
- ExternalException.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- RowCache.cs
- SafeNativeMethods.cs
- TabletDevice.cs
- HttpContextWrapper.cs
- WindowsAuthenticationModule.cs
- DispatcherFrame.cs
- UpdatePanelTrigger.cs
- ListControl.cs
- FutureFactory.cs
- NumericUpDown.cs
- TypedDataSetSchemaImporterExtension.cs
- HttpCapabilitiesBase.cs
- UnsafeNetInfoNativeMethods.cs
- MetadataException.cs
- DrawingAttributes.cs
- HierarchicalDataBoundControlAdapter.cs
- RoutedPropertyChangedEventArgs.cs
- DocumentViewer.cs
- FillErrorEventArgs.cs
- HealthMonitoringSectionHelper.cs
- CodeObject.cs
- CustomPopupPlacement.cs
- InheritanceContextChangedEventManager.cs
- Thread.cs
- LabelLiteral.cs
- DataGridTableCollection.cs
- _DisconnectOverlappedAsyncResult.cs
- ConfigXmlWhitespace.cs
- LabelLiteral.cs
- Misc.cs
- DataControlFieldCollection.cs
- TemplateBindingExpressionConverter.cs
- CallSiteHelpers.cs
- Control.cs
- HuffCodec.cs
- TemplateNameScope.cs
- designeractionlistschangedeventargs.cs