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
- ModuleConfigurationInfo.cs
- MobileTextWriter.cs
- DropDownHolder.cs
- serverconfig.cs
- TemplatedMailWebEventProvider.cs
- ISessionStateStore.cs
- PhysicalAddress.cs
- BindingCompleteEventArgs.cs
- SmiRequestExecutor.cs
- MouseActionConverter.cs
- CompiledIdentityConstraint.cs
- TouchEventArgs.cs
- ValidationEventArgs.cs
- UIElement3D.cs
- ConfigXmlSignificantWhitespace.cs
- ItemsControlAutomationPeer.cs
- ImpersonateTokenRef.cs
- QilFactory.cs
- SmiGettersStream.cs
- TextTabProperties.cs
- PropertyDescriptorGridEntry.cs
- _LazyAsyncResult.cs
- WhereQueryOperator.cs
- UnauthorizedAccessException.cs
- WebPartDisplayMode.cs
- RTTrackingProfile.cs
- HashJoinQueryOperatorEnumerator.cs
- TypeLibConverter.cs
- HandledMouseEvent.cs
- TextServicesCompartment.cs
- DbDataSourceEnumerator.cs
- HttpListenerException.cs
- ModuleBuilderData.cs
- ToolStripControlHost.cs
- AutoSizeToolBoxItem.cs
- DetailsViewInsertEventArgs.cs
- PanelDesigner.cs
- DataGridViewColumn.cs
- basenumberconverter.cs
- WindowsListViewGroupSubsetLink.cs
- AdRotatorDesigner.cs
- TabletCollection.cs
- WaitForChangedResult.cs
- CompilationRelaxations.cs
- HttpValueCollection.cs
- ProgramPublisher.cs
- CharacterMetricsDictionary.cs
- StatusBar.cs
- XPathSingletonIterator.cs
- QuerySettings.cs
- Rotation3D.cs
- LookupBindingPropertiesAttribute.cs
- SocketPermission.cs
- DesignUtil.cs
- ListenerSessionConnectionReader.cs
- MachineKeySection.cs
- log.cs
- DataGridViewCellLinkedList.cs
- HttpRequest.cs
- ObjectParameterCollection.cs
- FormatConvertedBitmap.cs
- SQLMoneyStorage.cs
- SiteMapNodeItem.cs
- PresentationSource.cs
- DataViewListener.cs
- HebrewCalendar.cs
- SocketPermission.cs
- XmlAutoDetectWriter.cs
- TraceContextEventArgs.cs
- NeutralResourcesLanguageAttribute.cs
- TrustManagerMoreInformation.cs
- ContentPresenter.cs
- ObjectStorage.cs
- Matrix.cs
- MenuItem.cs
- SqlTypesSchemaImporter.cs
- FixedSOMContainer.cs
- DataGridPagingPage.cs
- NextPreviousPagerField.cs
- _SSPIWrapper.cs
- MarshalDirectiveException.cs
- WmlTextBoxAdapter.cs
- StylusPointPropertyInfo.cs
- JavaScriptString.cs
- ControlValuePropertyAttribute.cs
- HttpHandlerAction.cs
- DispatcherProcessingDisabled.cs
- LinqDataSourceDisposeEventArgs.cs
- UInt16Converter.cs
- MetadataSerializer.cs
- TraceContextRecord.cs
- TcpClientSocketManager.cs
- StringFunctions.cs
- QuaternionValueSerializer.cs
- NTAccount.cs
- HTMLTextWriter.cs
- PixelShader.cs
- AppDomainProtocolHandler.cs
- ResourceAttributes.cs
- CharAnimationUsingKeyFrames.cs