Code:
/ 4.0 / 4.0 / untmp / 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, Func typeNameConverter)
{
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
- StreamResourceInfo.cs
- SecurityContextSecurityTokenParameters.cs
- SchemaImporterExtension.cs
- NameValueSectionHandler.cs
- XmlTextWriter.cs
- PageContentAsyncResult.cs
- ToolboxItemAttribute.cs
- CreatingCookieEventArgs.cs
- NumberSubstitution.cs
- ObjectContextServiceProvider.cs
- ValueUtilsSmi.cs
- NonVisualControlAttribute.cs
- DataGridViewCellValidatingEventArgs.cs
- BrowserDefinition.cs
- FixedSOMTableRow.cs
- HttpCapabilitiesBase.cs
- SelectedGridItemChangedEvent.cs
- TextEndOfLine.cs
- DataGridViewTextBoxColumn.cs
- BinaryCommonClasses.cs
- UrlParameterWriter.cs
- WebException.cs
- SkipQueryOptionExpression.cs
- InvalidDocumentContentsException.cs
- OpCellTreeNode.cs
- InputProviderSite.cs
- XmlNodeChangedEventArgs.cs
- XmlUtilWriter.cs
- ConfigXmlText.cs
- TimelineClockCollection.cs
- DbConnectionFactory.cs
- ServiceDebugElement.cs
- XmlValueConverter.cs
- WebBrowserBase.cs
- SchemaImporterExtensionsSection.cs
- RegexTree.cs
- HttpWriter.cs
- XmlCustomFormatter.cs
- ScrollEvent.cs
- TimeZone.cs
- ActivityExecutor.cs
- XmlSchemaSet.cs
- ViewBase.cs
- RelationshipConverter.cs
- DataGridToolTip.cs
- WmfPlaceableFileHeader.cs
- SqlBuffer.cs
- BooleanExpr.cs
- CopyNodeSetAction.cs
- UnauthorizedWebPart.cs
- PointAnimation.cs
- FileChangesMonitor.cs
- HijriCalendar.cs
- CategoryAttribute.cs
- securestring.cs
- SByteStorage.cs
- CodeDirectoryCompiler.cs
- ThicknessAnimationBase.cs
- ReadOnlyObservableCollection.cs
- ButtonBase.cs
- EncodingInfo.cs
- PlaceHolder.cs
- MessageBox.cs
- CodeExpressionCollection.cs
- AliasExpr.cs
- Config.cs
- DependencyPropertyConverter.cs
- StreamInfo.cs
- ObjectQuery_EntitySqlExtensions.cs
- OperationAbortedException.cs
- XmlAtomErrorReader.cs
- TabItemAutomationPeer.cs
- ServiceContractViewControl.Designer.cs
- Symbol.cs
- FigureParagraph.cs
- SecurityRuntime.cs
- ResourceDescriptionAttribute.cs
- XmlnsDictionary.cs
- RuntimeConfigLKG.cs
- MenuCommand.cs
- DataServiceQueryOfT.cs
- SettingsPropertyCollection.cs
- ErrorView.xaml.cs
- CodeAssignStatement.cs
- DataGridViewButtonCell.cs
- CheckBox.cs
- NullableLongAverageAggregationOperator.cs
- AuthorizationSection.cs
- DrawingBrush.cs
- HtmlElementEventArgs.cs
- GridViewPageEventArgs.cs
- SoapAttributeOverrides.cs
- Int32Storage.cs
- ImportStoreException.cs
- XmlExpressionDumper.cs
- SendMessageRecord.cs
- Base64Stream.cs
- RemotingConfiguration.cs
- SmiEventStream.cs
- DispatchWrapper.cs