Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / UI / TargetControlTypeCache.cs / 1305376 / TargetControlTypeCache.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI {
using System;
using System.Collections;
// Cache TargetControlTypeAttributes to improve performance
internal static class TargetControlTypeCache {
// Maps Type (extender control) to Type[] (valid target control types)
private static readonly Hashtable _targetControlTypeCache = Hashtable.Synchronized(new Hashtable());
public static Type[] GetTargetControlTypes(Type extenderControlType) {
Type[] types = (Type[])_targetControlTypeCache[extenderControlType];
if (types == null) {
types = GetTargetControlTypesInternal(extenderControlType);
_targetControlTypeCache[extenderControlType] = types;
}
return types;
}
private static Type[] GetTargetControlTypesInternal(Type extenderControlType) {
object[] attrs = extenderControlType.GetCustomAttributes(typeof(TargetControlTypeAttribute), true);
Type[] types = new Type[attrs.Length];
for (int i = 0; i < attrs.Length; i++) {
types[i] = ((TargetControlTypeAttribute)attrs[i]).TargetControlType;
}
return types;
}
}
}
// 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
- CompoundFileStorageReference.cs
- ScrollPatternIdentifiers.cs
- DoubleAnimation.cs
- QuaternionConverter.cs
- QuarticEase.cs
- TextServicesLoader.cs
- FactoryMaker.cs
- PermissionRequestEvidence.cs
- DynamicRouteExpression.cs
- DataGridCaption.cs
- PriorityRange.cs
- DependencyPropertyConverter.cs
- ScriptReferenceBase.cs
- Comparer.cs
- EntityObject.cs
- DataTableReaderListener.cs
- StickyNoteContentControl.cs
- FormViewUpdateEventArgs.cs
- EventHandlerList.cs
- UnsafeNativeMethods.cs
- HandlerMappingMemo.cs
- AspNetHostingPermission.cs
- MobileControlPersister.cs
- UnconditionalPolicy.cs
- RoleService.cs
- FormViewDeleteEventArgs.cs
- VectorCollection.cs
- ActivationServices.cs
- Pens.cs
- LogicalCallContext.cs
- NameValueConfigurationElement.cs
- SettingsSection.cs
- Section.cs
- UnsafePeerToPeerMethods.cs
- XmlSchemaAttributeGroupRef.cs
- BeginEvent.cs
- PolicyStatement.cs
- TextTrailingCharacterEllipsis.cs
- ZipFileInfoCollection.cs
- BaseCAMarshaler.cs
- CategoryNameCollection.cs
- WebPartTransformerAttribute.cs
- webbrowsersite.cs
- SchemaInfo.cs
- FigureHelper.cs
- GlobalizationSection.cs
- InheritanceContextChangedEventManager.cs
- IERequestCache.cs
- NetworkInformationException.cs
- LayoutInformation.cs
- StateManagedCollection.cs
- VisualTreeUtils.cs
- CounterCreationDataCollection.cs
- ReadOnlyCollectionBase.cs
- NamedElement.cs
- ListBox.cs
- RawStylusInputCustomData.cs
- CommandBindingCollection.cs
- OperationPerformanceCounters.cs
- CurrencyManager.cs
- Color.cs
- arc.cs
- SqlDataSource.cs
- AmbientLight.cs
- VSWCFServiceContractGenerator.cs
- VectorAnimationUsingKeyFrames.cs
- GridEntry.cs
- UriTemplateTableMatchCandidate.cs
- BindingGroup.cs
- XmlConvert.cs
- CollaborationHelperFunctions.cs
- Pts.cs
- OdbcEnvironmentHandle.cs
- ContentPosition.cs
- RequestQueryProcessor.cs
- StylusPointProperty.cs
- InfoCardBaseException.cs
- RegexNode.cs
- LiteralControl.cs
- NameValueConfigurationCollection.cs
- PackWebRequest.cs
- SqlAliasesReferenced.cs
- SetterBase.cs
- Decimal.cs
- Material.cs
- Geometry3D.cs
- EditCommandColumn.cs
- CodeIdentifiers.cs
- HttpContextBase.cs
- IsolationInterop.cs
- CheckBoxPopupAdapter.cs
- EditBehavior.cs
- ReadOnlyHierarchicalDataSource.cs
- AppearanceEditorPart.cs
- SizeF.cs
- NamespaceMapping.cs
- SQLConvert.cs
- EntitySqlQueryCacheKey.cs
- NetworkAddressChange.cs
- HttpCachePolicy.cs