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
- QueryCacheManager.cs
- ArraySubsetEnumerator.cs
- SiteMapPath.cs
- ResourcePermissionBaseEntry.cs
- BaseValidator.cs
- PerformanceCountersElement.cs
- AnnotationComponentManager.cs
- RegexStringValidator.cs
- XPathSingletonIterator.cs
- BufferedStream.cs
- Keywords.cs
- Point3DIndependentAnimationStorage.cs
- SingleResultAttribute.cs
- BoundsDrawingContextWalker.cs
- CustomErrorsSection.cs
- ObjectListCommandEventArgs.cs
- RNGCryptoServiceProvider.cs
- WebColorConverter.cs
- DefaultTraceListener.cs
- HelpKeywordAttribute.cs
- GZipDecoder.cs
- LogEntrySerializationException.cs
- HtmlGenericControl.cs
- TypeInfo.cs
- DetailsViewInsertedEventArgs.cs
- ConfigXmlElement.cs
- XMLSchema.cs
- SmtpSection.cs
- ProxyHelper.cs
- VideoDrawing.cs
- SplineQuaternionKeyFrame.cs
- AttributeUsageAttribute.cs
- ParallelTimeline.cs
- InstalledFontCollection.cs
- NodeFunctions.cs
- PrinterResolution.cs
- AtomParser.cs
- SqlUserDefinedAggregateAttribute.cs
- ValidationHelper.cs
- XmlSchemaAnnotated.cs
- FieldNameLookup.cs
- TrustManagerMoreInformation.cs
- DataServiceResponse.cs
- XmlNamespaceMappingCollection.cs
- LayoutTableCell.cs
- XomlCompilerParameters.cs
- MultipleViewPattern.cs
- SessionSwitchEventArgs.cs
- oledbconnectionstring.cs
- ContextProperty.cs
- DashStyle.cs
- SortedDictionary.cs
- CodeSnippetCompileUnit.cs
- SmiConnection.cs
- InitiatorSessionSymmetricTransportSecurityProtocol.cs
- DataGridTextBox.cs
- OleDbErrorCollection.cs
- PagedDataSource.cs
- OLEDB_Util.cs
- ParameterModifier.cs
- SwitchExpression.cs
- DataGridDetailsPresenter.cs
- ServerIdentity.cs
- SizeAnimationBase.cs
- XmlSerializer.cs
- HandlerBase.cs
- CryptoStream.cs
- AttributeCallbackBuilder.cs
- InstanceHandleConflictException.cs
- DocumentGridPage.cs
- DelayedRegex.cs
- CompiledAction.cs
- ComboBoxDesigner.cs
- SmiEventStream.cs
- XmlCharacterData.cs
- HtmlInputRadioButton.cs
- Console.cs
- UserControlParser.cs
- ConfigXmlElement.cs
- PermissionSetEnumerator.cs
- AstNode.cs
- XmlWriter.cs
- NamespaceEmitter.cs
- WindowsListViewItem.cs
- MarginsConverter.cs
- IntSecurity.cs
- HtmlCommandAdapter.cs
- GridEntryCollection.cs
- FileLogRecordEnumerator.cs
- Transform3DGroup.cs
- HttpResponseHeader.cs
- DoubleCollection.cs
- InputScopeAttribute.cs
- PingReply.cs
- IDictionary.cs
- ExceptionAggregator.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- UserControlBuildProvider.cs
- SqlAliaser.cs
- ResourcesBuildProvider.cs