Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / CompMod / System / Diagnostics / TraceSwitch.cs / 1 / 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
- WebPartVerbCollection.cs
- ListViewHitTestInfo.cs
- AttributeQuery.cs
- XPathEmptyIterator.cs
- CheckBox.cs
- RequestBringIntoViewEventArgs.cs
- PolyLineSegment.cs
- TextTreeNode.cs
- ApplicationCommands.cs
- ValidatingPropertiesEventArgs.cs
- ComponentResourceKey.cs
- ColumnWidthChangingEvent.cs
- UnknownBitmapEncoder.cs
- securitycriticaldata.cs
- XmlStringTable.cs
- MergeFailedEvent.cs
- ContainerControl.cs
- SqlDataSourceView.cs
- IgnoreDeviceFilterElement.cs
- SchemaAttDef.cs
- MethodCallExpression.cs
- ReferencedCategoriesDocument.cs
- ActivationArguments.cs
- DefaultBinder.cs
- SymLanguageVendor.cs
- DataServiceQuery.cs
- SwitchDesigner.xaml.cs
- SchemaImporterExtension.cs
- LineVisual.cs
- DCSafeHandle.cs
- XPathDocumentIterator.cs
- UriParserTemplates.cs
- DataComponentNameHandler.cs
- TextServicesDisplayAttributePropertyRanges.cs
- RoleServiceManager.cs
- ChildTable.cs
- XmlAttribute.cs
- EventArgs.cs
- DataGridParentRows.cs
- MenuItemAutomationPeer.cs
- CodeLabeledStatement.cs
- TextBoxRenderer.cs
- PageOutputQuality.cs
- TransformCollection.cs
- TileBrush.cs
- TransactionInformation.cs
- PerformanceCountersElement.cs
- ArcSegment.cs
- DisplayToken.cs
- ElementHost.cs
- ToolStripLocationCancelEventArgs.cs
- FlowLayoutSettings.cs
- AssemblyName.cs
- ImageMapEventArgs.cs
- ConfigurationPermission.cs
- LayoutEditorPart.cs
- DeferredElementTreeState.cs
- TextEffectResolver.cs
- SetStateDesigner.cs
- BuilderInfo.cs
- BridgeDataReader.cs
- Utility.cs
- TreeNode.cs
- DataGridViewCellLinkedList.cs
- DetailsViewRowCollection.cs
- NextPreviousPagerField.cs
- InternalPermissions.cs
- BuildManagerHost.cs
- Assembly.cs
- ContentElement.cs
- ImageCreator.cs
- BooleanProjectedSlot.cs
- EDesignUtil.cs
- ToolStripSystemRenderer.cs
- ParagraphVisual.cs
- CharacterHit.cs
- InternalBase.cs
- AnnotationAdorner.cs
- BinarySecretKeyIdentifierClause.cs
- RemotingServices.cs
- PerformanceCounterLib.cs
- X509SubjectKeyIdentifierClause.cs
- TableLayoutPanelCellPosition.cs
- AuthenticationModulesSection.cs
- OleDbTransaction.cs
- QueryOutputWriterV1.cs
- CharacterBufferReference.cs
- TreeViewBindingsEditorForm.cs
- BinaryObjectInfo.cs
- BaseDataList.cs
- CanExecuteRoutedEventArgs.cs
- SafePEFileHandle.cs
- ButtonBase.cs
- CustomErrorCollection.cs
- UInt16Storage.cs
- FillBehavior.cs
- sqlnorm.cs
- InputElement.cs
- GiveFeedbackEvent.cs
- SymmetricSecurityBindingElement.cs