Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / XamlBuildTask / XamlFxTrace.cs / 1305376 / XamlFxTrace.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Xaml { using System; using System.Runtime; using System.Reflection; using System.Threading; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Diagnostics.CodeAnalysis; static partial class FxTrace { const string baseEventSourceName = "System.Xaml"; static string eventSourceName; static ExceptionTrace exceptionTrace; public static ExceptionTrace Exception { get { if (exceptionTrace == null) { // don't need a lock here since a true singleton is not required exceptionTrace = new ExceptionTrace(EventSourceName); } return exceptionTrace; } } static string EventSourceName { get { if (eventSourceName == null) { object[] fileVersionList = typeof(FxTrace).Assembly.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false); if (fileVersionList != null && fileVersionList.Length > 0 && fileVersionList[0] is AssemblyFileVersionAttribute) { eventSourceName = string.Concat(baseEventSourceName, " ", ((AssemblyFileVersionAttribute)fileVersionList[0]).Version); } else { eventSourceName = baseEventSourceName; } } return eventSourceName; } } // This never returns. The Exception return type lets you write 'throw FailFast()' which tells the compiler/tools that // execution stops. // This method is static on a beforefieldinit class. As long as it's built into the calling assembly and that assembly is // NGEN'd, it's very unlikely for the call itself to fail. [MethodImpl(MethodImplOptions.NoInlining)] [SuppressMessage(FxCop.Category.Performance, FxCop.Rule.AvoidUncalledPrivateCode, Justification = "This template is shared across all assemblies, some of which use this accessor.")] public static Exception FailFast(string message) { // The catch is here to force the finally to run, as finallys don't run until the stack walk gets to a catch. // The catch makes sure that the finally will run before the stack-walk leaves the frame, but the code inside is impossible to reach. try { try { FxTrace.Exception.TraceFailFast(message); } finally { Environment.FailFast(message); } } catch { throw; } return null; // we'll never get here since we've just fail-fasted } } } // 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
- LineProperties.cs
- StringResourceManager.cs
- WorkflowLayouts.cs
- ScalarConstant.cs
- CodeArgumentReferenceExpression.cs
- _LocalDataStore.cs
- PerformanceCounter.cs
- CreateUserWizardStep.cs
- Rect.cs
- CultureInfo.cs
- HtmlSelect.cs
- RawStylusInput.cs
- WindowsToolbar.cs
- RuntimeCompatibilityAttribute.cs
- WsatServiceCertificate.cs
- StringAnimationUsingKeyFrames.cs
- CreateUserWizardStep.cs
- DBDataPermissionAttribute.cs
- MouseButton.cs
- InvalidEnumArgumentException.cs
- TimerEventSubscriptionCollection.cs
- HotCommands.cs
- CodeExpressionStatement.cs
- UniqueIdentifierService.cs
- ProgressiveCrcCalculatingStream.cs
- IfAction.cs
- DoubleConverter.cs
- TitleStyle.cs
- RemoteWebConfigurationHostStream.cs
- Certificate.cs
- Int32RectConverter.cs
- XmlSchemaComplexContentExtension.cs
- HttpModuleCollection.cs
- GenerateTemporaryTargetAssembly.cs
- ReliableMessagingVersionConverter.cs
- Stroke.cs
- WebBrowserDocumentCompletedEventHandler.cs
- recordstate.cs
- SafeNativeMethods.cs
- MsmqMessage.cs
- LingerOption.cs
- precedingsibling.cs
- ConstraintCollection.cs
- DataGridViewAdvancedBorderStyle.cs
- CompiledQuery.cs
- UIElement3DAutomationPeer.cs
- IFlowDocumentViewer.cs
- CodeAttributeArgument.cs
- DefaultValueConverter.cs
- InvokeWebServiceDesigner.cs
- SelectedGridItemChangedEvent.cs
- Utils.cs
- DbConnectionPoolOptions.cs
- COM2ExtendedTypeConverter.cs
- WindowsStartMenu.cs
- ObjectDataProvider.cs
- SerializationInfo.cs
- PropertyTabAttribute.cs
- AnimationTimeline.cs
- AudioLevelUpdatedEventArgs.cs
- ResourcePart.cs
- CompoundFileReference.cs
- FacetDescription.cs
- ThreadAbortException.cs
- TemplatePagerField.cs
- SqlExpander.cs
- ImageIndexEditor.cs
- PartialClassGenerationTaskInternal.cs
- IPipelineRuntime.cs
- NotificationContext.cs
- TypeGeneratedEventArgs.cs
- DoubleCollectionConverter.cs
- Brushes.cs
- NavigationExpr.cs
- TextSimpleMarkerProperties.cs
- SmtpTransport.cs
- WindowsHyperlink.cs
- FontFamily.cs
- EditorZoneBase.cs
- SHA512.cs
- TraceUtils.cs
- FlagsAttribute.cs
- OdbcPermission.cs
- PKCS1MaskGenerationMethod.cs
- CrossAppDomainChannel.cs
- EntityExpressionVisitor.cs
- LinqDataSourceSelectEventArgs.cs
- Bits.cs
- AspNetSynchronizationContext.cs
- DeploymentSection.cs
- UInt32Storage.cs
- XmlSchemaAnyAttribute.cs
- Help.cs
- Invariant.cs
- Parsers.cs
- TraceContextRecord.cs
- EncodingTable.cs
- WebServiceParameterData.cs
- CodeGenHelper.cs
- File.cs