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
- BamlLocalizationDictionary.cs
- ExpressionPrefixAttribute.cs
- TextLine.cs
- BufferedReceiveElement.cs
- CssStyleCollection.cs
- ObjectKeyFrameCollection.cs
- XmlSignificantWhitespace.cs
- AsyncResult.cs
- NullableDoubleAverageAggregationOperator.cs
- ToolTipService.cs
- PartialTrustVisibleAssembliesSection.cs
- FixedPage.cs
- KnownTypes.cs
- VisualTreeHelper.cs
- WSSecureConversationFeb2005.cs
- UrlPath.cs
- CompoundFileReference.cs
- SerializationAttributes.cs
- AdapterUtil.cs
- RepeatButton.cs
- Point4D.cs
- ObfuscateAssemblyAttribute.cs
- PrinterUnitConvert.cs
- Helper.cs
- ToolStripItemDataObject.cs
- StackSpiller.Bindings.cs
- DeferrableContent.cs
- Enum.cs
- ProfilePropertySettings.cs
- WorkflowDefinitionDispenser.cs
- HitTestResult.cs
- HyperlinkAutomationPeer.cs
- ErrorWrapper.cs
- ColorConvertedBitmapExtension.cs
- SocketElement.cs
- TrackingProvider.cs
- HiddenField.cs
- SQLBytes.cs
- CollectionCodeDomSerializer.cs
- ExtenderProvidedPropertyAttribute.cs
- StsCommunicationException.cs
- SourceLineInfo.cs
- TypeUsage.cs
- Page.cs
- PlanCompilerUtil.cs
- LoadMessageLogger.cs
- SqlCacheDependencyDatabaseCollection.cs
- PartialCachingControl.cs
- CodeExpressionStatement.cs
- BindingList.cs
- TraceListener.cs
- WebConfigurationFileMap.cs
- MessageBox.cs
- ClientScriptManagerWrapper.cs
- COAUTHIDENTITY.cs
- ICollection.cs
- CallbackException.cs
- TableLayout.cs
- TrayIconDesigner.cs
- DirectionalLight.cs
- JsonSerializer.cs
- ContainerParaClient.cs
- SpeechSynthesizer.cs
- SupportingTokenProviderSpecification.cs
- ReachFixedDocumentSerializerAsync.cs
- BaseTreeIterator.cs
- XmlSchemaIdentityConstraint.cs
- LogLogRecordHeader.cs
- ScriptingAuthenticationServiceSection.cs
- CompleteWizardStep.cs
- FilterableAttribute.cs
- Baml2006KeyRecord.cs
- DrawingAttributes.cs
- XsdDataContractExporter.cs
- CqlWriter.cs
- DocumentNUp.cs
- JulianCalendar.cs
- FontStyles.cs
- VisualTreeUtils.cs
- ClientBuildManager.cs
- AttachedPropertyInfo.cs
- ReadOnlyKeyedCollection.cs
- unsafenativemethodstextservices.cs
- DateTimeValueSerializerContext.cs
- InvalidDataException.cs
- Classification.cs
- BinaryObjectReader.cs
- Cursors.cs
- FileRecordSequenceCompletedAsyncResult.cs
- EasingKeyFrames.cs
- DecimalKeyFrameCollection.cs
- QuaternionKeyFrameCollection.cs
- MatrixCamera.cs
- UnsafeNativeMethods.cs
- DragEvent.cs
- DataTransferEventArgs.cs
- TextSelectionHelper.cs
- XmlResolver.cs
- _Rfc2616CacheValidators.cs
- TaskFormBase.cs