Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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); } } }/// Update the level for this switch. /// ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- IgnoreFlushAndCloseStream.cs
- _Semaphore.cs
- BeginStoryboard.cs
- QuadraticBezierSegment.cs
- MediaElement.cs
- SyntaxCheck.cs
- HierarchicalDataBoundControlAdapter.cs
- ExpressionEditorAttribute.cs
- ConfigurationValues.cs
- Parsers.cs
- GridLengthConverter.cs
- DbTransaction.cs
- TimeSpanStorage.cs
- XmlCompatibilityReader.cs
- AssemblyNameProxy.cs
- ValidationEventArgs.cs
- WebPartDescription.cs
- NavigationProperty.cs
- Globals.cs
- RegexCompiler.cs
- ExpressionWriter.cs
- StickyNoteAnnotations.cs
- InputBinding.cs
- ConnectionManager.cs
- SecurityTokenParameters.cs
- ProcessInputEventArgs.cs
- SqlServices.cs
- LinearKeyFrames.cs
- ShimAsPublicXamlType.cs
- ListBase.cs
- SemanticValue.cs
- DeviceContext.cs
- HttpDictionary.cs
- TransactionFlowElement.cs
- GuidelineCollection.cs
- InvalidOleVariantTypeException.cs
- CallbackDebugBehavior.cs
- DataRecordInfo.cs
- WpfXamlMember.cs
- FontStyle.cs
- FlagsAttribute.cs
- AssemblyNameUtility.cs
- SelectionPatternIdentifiers.cs
- SocketStream.cs
- SafeNativeMethods.cs
- TemplateColumn.cs
- RoleManagerEventArgs.cs
- ComboBoxItem.cs
- GrammarBuilder.cs
- PeerServiceMessageContracts.cs
- XmlTextReaderImpl.cs
- MatchingStyle.cs
- __Filters.cs
- FolderNameEditor.cs
- TransformConverter.cs
- ColumnMapProcessor.cs
- ProbeDuplexAsyncResult.cs
- MetabaseServerConfig.cs
- LeafCellTreeNode.cs
- KeyGestureValueSerializer.cs
- TreeNodeBindingCollection.cs
- TableItemStyle.cs
- ToolStripItemBehavior.cs
- ArrangedElementCollection.cs
- OdbcConnectionPoolProviderInfo.cs
- _NetworkingPerfCounters.cs
- EventRecordWrittenEventArgs.cs
- FileSystemInfo.cs
- TrustSection.cs
- Model3DGroup.cs
- odbcmetadatacolumnnames.cs
- AnnotationAuthorChangedEventArgs.cs
- ContentElement.cs
- DriveInfo.cs
- ProcessModule.cs
- MonthCalendarDesigner.cs
- XmlSubtreeReader.cs
- EventManager.cs
- Error.cs
- HandlerBase.cs
- SqlNodeAnnotation.cs
- ThreadInterruptedException.cs
- Config.cs
- FaultContractInfo.cs
- LayoutSettings.cs
- DetailsViewUpdatedEventArgs.cs
- XamlPointCollectionSerializer.cs
- BitmapEffectDrawingContextState.cs
- StreamGeometry.cs
- AnalyzedTree.cs
- MetadataPropertyAttribute.cs
- cryptoapiTransform.cs
- SafeHandle.cs
- GuidelineCollection.cs
- MetabaseSettings.cs
- UTF8Encoding.cs
- CurrentChangingEventArgs.cs
- HTMLTextWriter.cs
- RowToFieldTransformer.cs
- ToolStripContentPanelRenderEventArgs.cs