Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------ // 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
- HostingEnvironment.cs
- PaginationProgressEventArgs.cs
- SingleKeyFrameCollection.cs
- RichTextBox.cs
- BrowserCapabilitiesCompiler.cs
- StreamWriter.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- CallbackValidatorAttribute.cs
- SystemIPInterfaceProperties.cs
- BitmapPalettes.cs
- SynchronizedDispatch.cs
- DragCompletedEventArgs.cs
- PenThreadWorker.cs
- Sentence.cs
- TrackingDataItem.cs
- DetailsViewRow.cs
- RefreshResponseInfo.cs
- ToolbarAUtomationPeer.cs
- OutputCacheSettings.cs
- EditorZone.cs
- SplineKeyFrames.cs
- SspiNegotiationTokenAuthenticatorState.cs
- DefaultSerializationProviderAttribute.cs
- DataGridViewCellStyleChangedEventArgs.cs
- SqlInternalConnectionTds.cs
- PropertyChangedEventManager.cs
- CodeTypeMemberCollection.cs
- NetworkInformationPermission.cs
- TextSearch.cs
- XmlSchemaElement.cs
- Enum.cs
- ClassGenerator.cs
- ExceptionValidationRule.cs
- GenericPrincipal.cs
- WebPartZoneCollection.cs
- SplineKeyFrames.cs
- WebConvert.cs
- FontUnitConverter.cs
- Image.cs
- SelectionWordBreaker.cs
- PopOutPanel.cs
- DateTimePickerDesigner.cs
- XmlCDATASection.cs
- SetStoryboardSpeedRatio.cs
- UserControlAutomationPeer.cs
- WebPartRestoreVerb.cs
- FontUnitConverter.cs
- CLSCompliantAttribute.cs
- DetailsViewRowCollection.cs
- OleDbFactory.cs
- UnicastIPAddressInformationCollection.cs
- CompareInfo.cs
- SystemResourceKey.cs
- StringCollection.cs
- DataControlFieldTypeEditor.cs
- SQLInt64.cs
- DecoderReplacementFallback.cs
- Crc32Helper.cs
- IPAddress.cs
- PropertyPathWorker.cs
- Expander.cs
- Screen.cs
- DetailsViewDeleteEventArgs.cs
- XmlReflectionImporter.cs
- TextBox.cs
- DropShadowEffect.cs
- WebHttpElement.cs
- DataTableNewRowEvent.cs
- ActivitySurrogateSelector.cs
- XmlSchemaSimpleTypeRestriction.cs
- SqlConnectionString.cs
- Style.cs
- CanonicalFontFamilyReference.cs
- DataRecordInternal.cs
- DataGridViewColumnEventArgs.cs
- NextPreviousPagerField.cs
- X509WindowsSecurityToken.cs
- URLAttribute.cs
- DataSetUtil.cs
- RoutingSection.cs
- SafeRegistryHandle.cs
- smtppermission.cs
- ExcludePathInfo.cs
- ChannelSettingsElement.cs
- ManipulationCompletedEventArgs.cs
- ObjectSet.cs
- Matrix3DConverter.cs
- UnmanagedMemoryStreamWrapper.cs
- MaterialCollection.cs
- ModuleBuilderData.cs
- XPathNavigatorKeyComparer.cs
- ResetableIterator.cs
- DataBoundControlHelper.cs
- DefaultExpressionVisitor.cs
- TaiwanCalendar.cs
- HttpCacheVary.cs
- StorageConditionPropertyMapping.cs
- CacheEntry.cs
- PropertyChangingEventArgs.cs
- ObjectConverter.cs