Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Diagnostics / Eventing / Reader / EventKeyword.cs / 1305376 / EventKeyword.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: EventKeyword ** ** Purpose: ** This public class describes the metadata for a specific Keyword ** defined by a Provider. An instance of this class is obtained from ** a ProviderMetadata object. ** ============================================================*/ using System.Collections.Generic; namespace System.Diagnostics.Eventing.Reader { ////// Describes the metadata for a specific Keyword defined by a Provider. /// An instance of this class is obtained from a ProviderMetadata object. /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class EventKeyword { private long value; private string name; private string displayName; private bool dataReady; ProviderMetadata pmReference; object syncObject; //called from EventMetadata internal EventKeyword(long value, ProviderMetadata pmReference) { this.value = value; this.pmReference = pmReference; this.syncObject = new object(); } //called from ProviderMetadata internal EventKeyword(string name, long value, string displayName) { this.value = value; this.name = name; this.displayName = displayName; this.dataReady = true; this.syncObject = new object(); } internal void PrepareData() { if (dataReady == true) return; lock (syncObject) { if (dataReady == true) return; IEnumerableresult = pmReference.Keywords; this.name = null; this.displayName = null; this.dataReady = true; foreach (EventKeyword key in result) { if (key.Value == this.value) { this.name = key.Name; this.displayName = key.DisplayName; break; } } } } public string Name { get { PrepareData(); return this.name; } } public long Value { get { return this.value; } } public string DisplayName { get { PrepareData(); return this.displayName; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: EventKeyword ** ** Purpose: ** This public class describes the metadata for a specific Keyword ** defined by a Provider. An instance of this class is obtained from ** a ProviderMetadata object. ** ============================================================*/ using System.Collections.Generic; namespace System.Diagnostics.Eventing.Reader { /// /// Describes the metadata for a specific Keyword defined by a Provider. /// An instance of this class is obtained from a ProviderMetadata object. /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class EventKeyword { private long value; private string name; private string displayName; private bool dataReady; ProviderMetadata pmReference; object syncObject; //called from EventMetadata internal EventKeyword(long value, ProviderMetadata pmReference) { this.value = value; this.pmReference = pmReference; this.syncObject = new object(); } //called from ProviderMetadata internal EventKeyword(string name, long value, string displayName) { this.value = value; this.name = name; this.displayName = displayName; this.dataReady = true; this.syncObject = new object(); } internal void PrepareData() { if (dataReady == true) return; lock (syncObject) { if (dataReady == true) return; IEnumerableresult = pmReference.Keywords; this.name = null; this.displayName = null; this.dataReady = true; foreach (EventKeyword key in result) { if (key.Value == this.value) { this.name = key.Name; this.displayName = key.DisplayName; break; } } } } public string Name { get { PrepareData(); return this.name; } } public long Value { get { return this.value; } } public string DisplayName { get { PrepareData(); return this.displayName; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Page.cs
- ConsumerConnectionPointCollection.cs
- RuleEngine.cs
- ApplicationProxyInternal.cs
- SocketInformation.cs
- RotateTransform.cs
- OperationContractAttribute.cs
- XPathCompiler.cs
- ObjectAssociationEndMapping.cs
- DataRecordObjectView.cs
- SettingsPropertyIsReadOnlyException.cs
- SafeFileMappingHandle.cs
- WebResourceAttribute.cs
- SplineQuaternionKeyFrame.cs
- ExtractorMetadata.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- BulletChrome.cs
- StateChangeEvent.cs
- TryCatch.cs
- FormatControl.cs
- QueryStringParameter.cs
- StubHelpers.cs
- MatrixTransform3D.cs
- mactripleDES.cs
- TextRangeSerialization.cs
- ReadWriteObjectLock.cs
- LabelEditEvent.cs
- ManagementObjectCollection.cs
- CFGGrammar.cs
- PresentationTraceSources.cs
- Set.cs
- DispatchChannelSink.cs
- DesignerOptions.cs
- Panel.cs
- TextDecorationUnitValidation.cs
- XmlSchemaNotation.cs
- PopupRoot.cs
- ScriptManager.cs
- BrowserCapabilitiesFactory35.cs
- ScrollBarRenderer.cs
- Enlistment.cs
- ComponentResourceKey.cs
- GridViewRow.cs
- XmlBinaryReader.cs
- SchemaTableOptionalColumn.cs
- DBConnectionString.cs
- SmtpNegotiateAuthenticationModule.cs
- FrameworkElementFactory.cs
- Label.cs
- DialogResultConverter.cs
- StandardRuntimeEnumValidator.cs
- Point4DValueSerializer.cs
- OleServicesContext.cs
- XamlValidatingReader.cs
- ResourceAssociationSetEnd.cs
- ValidationEventArgs.cs
- AuthorizationRuleCollection.cs
- WebBrowser.cs
- ModulesEntry.cs
- TextServicesCompartment.cs
- Graph.cs
- ProxyElement.cs
- CookieHandler.cs
- PreviewControlDesigner.cs
- StrokeDescriptor.cs
- MultiBinding.cs
- SelectingProviderEventArgs.cs
- InkCanvasSelectionAdorner.cs
- LogExtentCollection.cs
- StylusEditingBehavior.cs
- CellConstant.cs
- InstanceLockQueryResult.cs
- MultipartIdentifier.cs
- IndexedSelectQueryOperator.cs
- DynamicPhysicalDiscoSearcher.cs
- EdmComplexTypeAttribute.cs
- CodeRemoveEventStatement.cs
- ToolBarButton.cs
- GestureRecognizer.cs
- SqlFacetAttribute.cs
- ResumeStoryboard.cs
- InitializationEventAttribute.cs
- ColumnResizeUndoUnit.cs
- RadioButton.cs
- ConnectionStringsExpressionBuilder.cs
- ConfigXmlWhitespace.cs
- Path.cs
- WinEventWrap.cs
- KeyMatchBuilder.cs
- ListenerElementsCollection.cs
- SqlDataSourceCommandEventArgs.cs
- FormatterServices.cs
- PenThreadPool.cs
- ListBoxAutomationPeer.cs
- Brush.cs
- SQLDoubleStorage.cs
- TextTrailingCharacterEllipsis.cs
- TraceEventCache.cs
- WarningException.cs
- WizardForm.cs