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
- MessageHeaderInfoTraceRecord.cs
- PackWebRequest.cs
- SqlGatherConsumedAliases.cs
- NumberEdit.cs
- SystemWebSectionGroup.cs
- FieldDescriptor.cs
- RectIndependentAnimationStorage.cs
- Size3DValueSerializer.cs
- FontSizeConverter.cs
- CellTreeSimplifier.cs
- FixedDocumentSequencePaginator.cs
- StorageMappingFragment.cs
- ConditionalWeakTable.cs
- Keywords.cs
- StreamUpdate.cs
- CancellationTokenSource.cs
- DropSource.cs
- FormatSettings.cs
- Cell.cs
- ArraySegment.cs
- WorkflowTransactionService.cs
- TypedOperationInfo.cs
- CaseInsensitiveHashCodeProvider.cs
- SignalGate.cs
- RolePrincipal.cs
- PasswordBoxAutomationPeer.cs
- WsdlWriter.cs
- SAPIEngineTypes.cs
- ImageField.cs
- HttpProfileGroupBase.cs
- TextRangeEditLists.cs
- ByteStreamGeometryContext.cs
- IdleTimeoutMonitor.cs
- TokenBasedSet.cs
- Attributes.cs
- UnionExpr.cs
- DispatcherTimer.cs
- dataprotectionpermissionattribute.cs
- CharacterBuffer.cs
- FixedSOMLineRanges.cs
- DispatchWrapper.cs
- WpfKnownMemberInvoker.cs
- EntityKeyElement.cs
- DigitShape.cs
- DataTransferEventArgs.cs
- MemberDescriptor.cs
- InputEventArgs.cs
- Tile.cs
- TimelineGroup.cs
- RuntimeConfigLKG.cs
- VScrollBar.cs
- Ticks.cs
- CryptoApi.cs
- CodePageEncoding.cs
- UniqueEventHelper.cs
- CssTextWriter.cs
- SQLConvert.cs
- Descriptor.cs
- DataColumnMapping.cs
- Rotation3D.cs
- EqualityComparer.cs
- HotSpotCollection.cs
- FilteredReadOnlyMetadataCollection.cs
- DataRecord.cs
- PlacementWorkspace.cs
- ToolbarAUtomationPeer.cs
- ObjectIDGenerator.cs
- Process.cs
- TraceLevelHelper.cs
- PopupEventArgs.cs
- MouseGesture.cs
- DynamicMethod.cs
- GridItemCollection.cs
- DataFieldCollectionEditor.cs
- FontWeights.cs
- XmlAttributes.cs
- _NegotiateClient.cs
- ScrollChangedEventArgs.cs
- DiscoveryClientDocuments.cs
- DetailsViewPagerRow.cs
- CompletedAsyncResult.cs
- webeventbuffer.cs
- DataGridViewImageCell.cs
- DependencyPropertyKind.cs
- CmsUtils.cs
- ScrollBar.cs
- ExclusiveHandleList.cs
- messageonlyhwndwrapper.cs
- TraceListener.cs
- PathGradientBrush.cs
- SmtpAuthenticationManager.cs
- BaseUriWithWildcard.cs
- QueryContinueDragEvent.cs
- CompilerErrorCollection.cs
- EntityDataSourceContextCreatedEventArgs.cs
- ExecutionEngineException.cs
- FieldAccessException.cs
- BypassElement.cs
- PermissionAttributes.cs
- MarkupWriter.cs