Code:
/ DotNET / DotNET / 8.0 / untmp / Orcas / RTM / ndp / fx / src / xsp / System / Web / Extensions / ui / TargetControlTypeCache.cs / 1 / 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.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Matrix.cs
- ExchangeUtilities.cs
- SignatureResourcePool.cs
- MatrixTransform.cs
- SchemaInfo.cs
- DataServiceStreamResponse.cs
- DayRenderEvent.cs
- SmiRecordBuffer.cs
- PageCanvasSize.cs
- UnmanagedHandle.cs
- WeakReferenceList.cs
- DbResourceAllocator.cs
- XmlSerializationWriter.cs
- ComAdminWrapper.cs
- ContentType.cs
- loginstatus.cs
- SQLMoney.cs
- CurrentChangingEventArgs.cs
- AppearanceEditorPart.cs
- AnnotationHighlightLayer.cs
- CqlParserHelpers.cs
- FtpWebRequest.cs
- Block.cs
- FigureHelper.cs
- DodSequenceMerge.cs
- AnimationClock.cs
- TextClipboardData.cs
- CollectionChange.cs
- EncoderExceptionFallback.cs
- DataControlFieldHeaderCell.cs
- ToolZone.cs
- CollectionBase.cs
- ThemeableAttribute.cs
- FontStyle.cs
- PauseStoryboard.cs
- FusionWrap.cs
- Lease.cs
- WebScriptClientGenerator.cs
- ISCIIEncoding.cs
- DesignerView.xaml.cs
- EventMap.cs
- UpdateManifestForBrowserApplication.cs
- WebServiceFaultDesigner.cs
- AuthenticationManager.cs
- RequestSecurityTokenForRemoteTokenFactory.cs
- SqlVersion.cs
- MouseWheelEventArgs.cs
- SplitterEvent.cs
- SchemaTableColumn.cs
- InertiaExpansionBehavior.cs
- SqlStream.cs
- X509Extension.cs
- SimpleTypeResolver.cs
- PartitionerStatic.cs
- ButtonField.cs
- ExecutionEngineException.cs
- SettingsSection.cs
- CommandConverter.cs
- SystemColors.cs
- ScriptingJsonSerializationSection.cs
- DataGridCell.cs
- DiscardableAttribute.cs
- ServiceInfoCollection.cs
- ServiceMemoryGates.cs
- EntityStoreSchemaGenerator.cs
- COAUTHIDENTITY.cs
- DrawingState.cs
- AtomContentProperty.cs
- StreamAsIStream.cs
- SynchronizedReadOnlyCollection.cs
- Misc.cs
- OverloadGroupAttribute.cs
- ThreadPool.cs
- OraclePermissionAttribute.cs
- MexServiceChannelBuilder.cs
- EmptyCollection.cs
- MeshGeometry3D.cs
- WeakHashtable.cs
- PathSegment.cs
- CommandPlan.cs
- CodePageEncoding.cs
- LinqTreeNodeEvaluator.cs
- ResourcePermissionBase.cs
- DispatcherFrame.cs
- FileReservationCollection.cs
- PageContent.cs
- Monitor.cs
- EntityTypeEmitter.cs
- GradientStopCollection.cs
- ButtonFlatAdapter.cs
- ObjectQuery.cs
- EventBookmark.cs
- StorageComplexTypeMapping.cs
- unsafenativemethodstextservices.cs
- MulticastDelegate.cs
- DelegateTypeInfo.cs
- MenuItem.cs
- ContentHostHelper.cs
- WebContentFormatHelper.cs
- InheritablePropertyChangeInfo.cs