Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Misc / MultitargetUtil.cs / 1305376 / MultitargetUtil.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Resources { using System; ////// Helper class supporting Multitarget type assembly qualified name resolution for ResX API. /// Note: this file is compiled into different assemblies (runtime and VSIP assemblies ...) /// internal static class MultitargetUtil { ////// This method gets assembly info for the corresponding type. If the delegate /// is provided it is used to get this information. /// public static string GetAssemblyQualifiedName(Type type, FunctypeNameConverter) { string assemblyQualifiedName = null; if (type != null) { if (typeNameConverter != null) { try { assemblyQualifiedName = typeNameConverter(type); } catch (Exception e) { if (IsSecurityOrCriticalException(e)) { throw; } } } if (string.IsNullOrEmpty(assemblyQualifiedName)) { assemblyQualifiedName = type.AssemblyQualifiedName; } } return assemblyQualifiedName; } // ExecutionEngineException is obsolete and shouldn't be used (to catch, throw or reference) anymore. // Pragma added to prevent converting the "type is obsolete" warning into build error. #pragma warning disable 618 private static bool IsSecurityOrCriticalException(Exception ex) { return ex is NullReferenceException || ex is StackOverflowException || ex is OutOfMemoryException || ex is System.Threading.ThreadAbortException || ex is ExecutionEngineException || ex is IndexOutOfRangeException || ex is AccessViolationException || ex is System.Security.SecurityException; } #pragma warning restore 618 } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Resources { using System; ////// Helper class supporting Multitarget type assembly qualified name resolution for ResX API. /// Note: this file is compiled into different assemblies (runtime and VSIP assemblies ...) /// internal static class MultitargetUtil { ////// This method gets assembly info for the corresponding type. If the delegate /// is provided it is used to get this information. /// public static string GetAssemblyQualifiedName(Type type, FunctypeNameConverter) { string assemblyQualifiedName = null; if (type != null) { if (typeNameConverter != null) { try { assemblyQualifiedName = typeNameConverter(type); } catch (Exception e) { if (IsSecurityOrCriticalException(e)) { throw; } } } if (string.IsNullOrEmpty(assemblyQualifiedName)) { assemblyQualifiedName = type.AssemblyQualifiedName; } } return assemblyQualifiedName; } // ExecutionEngineException is obsolete and shouldn't be used (to catch, throw or reference) anymore. // Pragma added to prevent converting the "type is obsolete" warning into build error. #pragma warning disable 618 private static bool IsSecurityOrCriticalException(Exception ex) { return ex is NullReferenceException || ex is StackOverflowException || ex is OutOfMemoryException || ex is System.Threading.ThreadAbortException || ex is ExecutionEngineException || ex is IndexOutOfRangeException || ex is AccessViolationException || ex is System.Security.SecurityException; } #pragma warning restore 618 } } // 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
- XsltContext.cs
- RoutedUICommand.cs
- XmlValidatingReaderImpl.cs
- StreamInfo.cs
- FixedFlowMap.cs
- GridViewCancelEditEventArgs.cs
- SoapAttributeOverrides.cs
- EntityDataSourceDesigner.cs
- MemoryMappedFile.cs
- MultiPageTextView.cs
- XmlSerializableReader.cs
- HttpHeaderCollection.cs
- CurrencyWrapper.cs
- SQLUtility.cs
- RootBrowserWindowProxy.cs
- CorrelationQuery.cs
- RegexCompilationInfo.cs
- PersonalizationState.cs
- NameTable.cs
- WebBaseEventKeyComparer.cs
- PathSegment.cs
- RegexInterpreter.cs
- DecimalFormatter.cs
- OleDbDataReader.cs
- SharedStatics.cs
- UrlMapping.cs
- URLString.cs
- WebPartMovingEventArgs.cs
- XmlUtf8RawTextWriter.cs
- ReservationNotFoundException.cs
- DataControlCommands.cs
- FilterQueryOptionExpression.cs
- BinaryExpression.cs
- EntityDataSourceDesignerHelper.cs
- HScrollBar.cs
- FormatVersion.cs
- WindowsSolidBrush.cs
- BoundingRectTracker.cs
- XsltLoader.cs
- Point.cs
- UIElementAutomationPeer.cs
- XmlSchemaChoice.cs
- SerializationInfo.cs
- PropertySourceInfo.cs
- EntityClassGenerator.cs
- PathParser.cs
- Compiler.cs
- ModelVisual3D.cs
- DoubleAnimationUsingKeyFrames.cs
- TextSegment.cs
- XappLauncher.cs
- ProtocolElementCollection.cs
- WorkflowServiceAttributes.cs
- CmsUtils.cs
- Decorator.cs
- WebBrowsableAttribute.cs
- MailAddress.cs
- MatrixTransform3D.cs
- VirtualPathExtension.cs
- __ConsoleStream.cs
- PreProcessInputEventArgs.cs
- DocComment.cs
- Size3D.cs
- CodeDomConfigurationHandler.cs
- SoapIgnoreAttribute.cs
- ItemChangedEventArgs.cs
- XmlSchemaComplexContent.cs
- Match.cs
- IPipelineRuntime.cs
- ApplyTemplatesAction.cs
- BamlWriter.cs
- Attributes.cs
- DocumentReference.cs
- LinkedResource.cs
- IgnorePropertiesAttribute.cs
- ParameterModifier.cs
- SqlServices.cs
- SupportingTokenAuthenticatorSpecification.cs
- SelectionPattern.cs
- DataServiceRequestOfT.cs
- GeometryHitTestResult.cs
- XmlSerializerFactory.cs
- ContainerParagraph.cs
- ParserContext.cs
- ListViewUpdateEventArgs.cs
- CheckBoxField.cs
- XamlDesignerSerializationManager.cs
- Brush.cs
- COM2PictureConverter.cs
- DataSetUtil.cs
- MailMessageEventArgs.cs
- ReadOnlyHierarchicalDataSource.cs
- ListViewItem.cs
- selecteditemcollection.cs
- ObjectDataSourceChooseMethodsPanel.cs
- View.cs
- __TransparentProxy.cs
- DataGridViewColumnConverter.cs
- __TransparentProxy.cs
- AccessedThroughPropertyAttribute.cs