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
- WsdlParser.cs
- SSmlParser.cs
- WebEvents.cs
- DefaultAssemblyResolver.cs
- InputReport.cs
- BrowserInteropHelper.cs
- Queue.cs
- ReaderWriterLock.cs
- SiteMapNodeCollection.cs
- TimeZone.cs
- SrgsOneOf.cs
- WebServiceParameterData.cs
- BitmapSource.cs
- ListInitExpression.cs
- CaseCqlBlock.cs
- DBConnectionString.cs
- MD5.cs
- WindowsListViewItem.cs
- FormatterConverter.cs
- ManipulationPivot.cs
- HttpGetServerProtocol.cs
- DocumentPageViewAutomationPeer.cs
- Maps.cs
- ExclusiveCanonicalizationTransform.cs
- TemplatedMailWebEventProvider.cs
- SerialPinChanges.cs
- CopyCodeAction.cs
- StrokeSerializer.cs
- SpanIndex.cs
- Bezier.cs
- StretchValidation.cs
- TextParagraph.cs
- ConnectionManagementElement.cs
- QueryContinueDragEventArgs.cs
- VirtualizedItemProviderWrapper.cs
- SecurityResources.cs
- XmlSerializerFactory.cs
- GlobalProxySelection.cs
- LassoSelectionBehavior.cs
- VScrollBar.cs
- NamespaceEmitter.cs
- RunClient.cs
- CompleteWizardStep.cs
- PolyLineSegmentFigureLogic.cs
- Light.cs
- ChannelManager.cs
- ContractUtils.cs
- UIAgentAsyncParams.cs
- CustomMenuItemCollection.cs
- ToolStripMenuItem.cs
- ResourceContainer.cs
- RoleGroup.cs
- SqlUtil.cs
- DataGridView.cs
- MailSettingsSection.cs
- RefType.cs
- ResourceReferenceExpressionConverter.cs
- CheckBoxRenderer.cs
- EncoderParameters.cs
- MessageBox.cs
- Message.cs
- DataBindingValueUIHandler.cs
- ColumnHeaderConverter.cs
- PersonalizationStateInfoCollection.cs
- Dynamic.cs
- BuildManagerHost.cs
- TypeConstant.cs
- RuntimeHandles.cs
- SoapSchemaMember.cs
- MsmqTransportSecurity.cs
- DrawingBrush.cs
- TransformValueSerializer.cs
- MemberCollection.cs
- WebControlToolBoxItem.cs
- EntityDataSourceContextCreatedEventArgs.cs
- Byte.cs
- ObjectDataSourceFilteringEventArgs.cs
- ArrayList.cs
- Accessible.cs
- SqlMetaData.cs
- MediaPlayer.cs
- WinCategoryAttribute.cs
- JumpItem.cs
- MembershipPasswordException.cs
- InputProviderSite.cs
- TableChangeProcessor.cs
- TransformValueSerializer.cs
- SerializableAttribute.cs
- AlignmentYValidation.cs
- SerializationHelper.cs
- CommentEmitter.cs
- Focus.cs
- SiteMapNodeItem.cs
- Helpers.cs
- AggregateNode.cs
- Serializer.cs
- TypeDelegator.cs
- SQLStringStorage.cs
- FormClosingEvent.cs
- KerberosTicketHashIdentifierClause.cs