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
- GridLengthConverter.cs
- TemplateBindingExpression.cs
- loginstatus.cs
- UserInitiatedNavigationPermission.cs
- GridItem.cs
- SoapCodeExporter.cs
- TimeSpanSecondsConverter.cs
- RootNamespaceAttribute.cs
- StylusButtonEventArgs.cs
- EntitySqlQueryCacheKey.cs
- XmlUtil.cs
- SslStream.cs
- XmlTextEncoder.cs
- TypeSchema.cs
- MailMessage.cs
- BufferedGraphicsManager.cs
- HwndKeyboardInputProvider.cs
- CharacterBufferReference.cs
- RootBrowserWindow.cs
- RectAnimationBase.cs
- SByteConverter.cs
- DefaultMemberAttribute.cs
- FreezableCollection.cs
- ServiceBusyException.cs
- TypefaceMap.cs
- ConfigurationManagerInternal.cs
- RelationshipNavigation.cs
- PostBackOptions.cs
- _NegoStream.cs
- ListItemConverter.cs
- UserControl.cs
- ReflectionPermission.cs
- DetailsViewUpdatedEventArgs.cs
- QueryAccessibilityHelpEvent.cs
- InternalDispatchObject.cs
- LabelEditEvent.cs
- Style.cs
- UmAlQuraCalendar.cs
- SecurityKeyType.cs
- PtsCache.cs
- ImageDrawing.cs
- CodeSnippetStatement.cs
- CodeEventReferenceExpression.cs
- LogReservationCollection.cs
- ISFTagAndGuidCache.cs
- Binding.cs
- storepermission.cs
- TypeConverterAttribute.cs
- StreamInfo.cs
- BoundField.cs
- FrugalMap.cs
- AuthStoreRoleProvider.cs
- ObjectStorage.cs
- EUCJPEncoding.cs
- PropertyCondition.cs
- CompilerScopeManager.cs
- SystemThemeKey.cs
- DataBindingCollection.cs
- SafeHandles.cs
- Timer.cs
- SQLDouble.cs
- SoapIgnoreAttribute.cs
- GeneralTransform3DGroup.cs
- ConsumerConnectionPoint.cs
- SoapExtensionStream.cs
- InternalsVisibleToAttribute.cs
- MatrixValueSerializer.cs
- AuthenticationException.cs
- RegexGroup.cs
- TreeViewImageKeyConverter.cs
- TrackingLocation.cs
- MeasurementDCInfo.cs
- FormViewInsertEventArgs.cs
- EventProviderWriter.cs
- RegexGroupCollection.cs
- WindowsSecurityTokenAuthenticator.cs
- GeometryHitTestResult.cs
- HtmlSelect.cs
- XhtmlBasicPageAdapter.cs
- DefinitionProperties.cs
- ObjectDataSourceChooseTypePanel.cs
- CapabilitiesAssignment.cs
- TransformerInfo.cs
- WindowProviderWrapper.cs
- ActivityTypeDesigner.xaml.cs
- ObjectDataSource.cs
- BindingManagerDataErrorEventArgs.cs
- CodeTypeParameterCollection.cs
- FileUtil.cs
- KeyBinding.cs
- AuthenticationManager.cs
- SmiMetaData.cs
- EventsTab.cs
- XmlSchemaAppInfo.cs
- EditableLabelControl.cs
- MenuItemAutomationPeer.cs
- ApplicationSecurityInfo.cs
- GlobalizationSection.cs
- ClientCultureInfo.cs
- HtmlInputSubmit.cs