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
- DescendentsWalkerBase.cs
- RegexRunnerFactory.cs
- OpacityConverter.cs
- DataRowExtensions.cs
- BaseTreeIterator.cs
- ByteRangeDownloader.cs
- Logging.cs
- ReflectionHelper.cs
- HuffModule.cs
- ListBindableAttribute.cs
- Win32NamedPipes.cs
- FilteredXmlReader.cs
- TableRowCollection.cs
- XmlSchemaAnyAttribute.cs
- PointAnimation.cs
- DictionaryItemsCollection.cs
- EventMappingSettings.cs
- XmlSchemaCompilationSettings.cs
- BindToObject.cs
- MessageHeaders.cs
- SoundPlayerAction.cs
- DataPagerFieldItem.cs
- keycontainerpermission.cs
- ClientBuildManagerCallback.cs
- DesignerEditorPartChrome.cs
- Utils.cs
- EventLogTraceListener.cs
- AnimatedTypeHelpers.cs
- AlignmentXValidation.cs
- TextTreeInsertUndoUnit.cs
- TreePrinter.cs
- WindowsFormsLinkLabel.cs
- PropertyTabChangedEvent.cs
- SystemKeyConverter.cs
- Accessors.cs
- TreeViewEvent.cs
- TypeUsage.cs
- _StreamFramer.cs
- JsonStringDataContract.cs
- SoapEnumAttribute.cs
- WorkflowElementDialog.cs
- IFormattable.cs
- AspNetHostingPermission.cs
- TargetInvocationException.cs
- clipboard.cs
- AggregatePushdown.cs
- RulePatternOps.cs
- ParameterDataSourceExpression.cs
- WebConfigurationFileMap.cs
- InputBuffer.cs
- TableItemPattern.cs
- cookiecontainer.cs
- ArrayHelper.cs
- ValidationResult.cs
- AnonymousIdentificationSection.cs
- SynchronizationValidator.cs
- StandardMenuStripVerb.cs
- serverconfig.cs
- TokenBasedSet.cs
- SecurityCriticalDataForSet.cs
- DetailsViewUpdatedEventArgs.cs
- SubqueryTrackingVisitor.cs
- RegexWriter.cs
- Sentence.cs
- XmlCharacterData.cs
- ClientSettings.cs
- Clause.cs
- SymmetricAlgorithm.cs
- WebPartVerbCollection.cs
- IndexedString.cs
- CodeStatementCollection.cs
- Exceptions.cs
- ThaiBuddhistCalendar.cs
- HttpRawResponse.cs
- X509ChainPolicy.cs
- TreeNodeMouseHoverEvent.cs
- VirtualizingStackPanel.cs
- ColumnMapCopier.cs
- RemotingConfigParser.cs
- EndOfStreamException.cs
- SchemaLookupTable.cs
- FormView.cs
- DrawingVisualDrawingContext.cs
- ShadowGlyph.cs
- ECDsa.cs
- TreeNode.cs
- DescendentsWalkerBase.cs
- ObjectQueryExecutionPlan.cs
- TrackingProfileDeserializationException.cs
- FrameworkEventSource.cs
- LayoutEvent.cs
- LocalizedNameDescriptionPair.cs
- HtmlInputReset.cs
- GregorianCalendarHelper.cs
- EncryptedXml.cs
- BinaryFormatterWriter.cs
- NegationPusher.cs
- SkipStoryboardToFill.cs
- RequestNavigateEventArgs.cs
- TreeNodeStyleCollectionEditor.cs