Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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. // //----------------------------------------------------------------------------- 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
- GrowingArray.cs
- ForeignKeyConstraint.cs
- SqlDataReaderSmi.cs
- RecognizedPhrase.cs
- EdmProviderManifest.cs
- BasePattern.cs
- NameTable.cs
- FormsAuthenticationModule.cs
- CacheForPrimitiveTypes.cs
- SecurityTokenProvider.cs
- WebPartMenu.cs
- DocumentEventArgs.cs
- Button.cs
- ScriptControlDescriptor.cs
- DbParameterHelper.cs
- TabControl.cs
- WorkflowHostingEndpoint.cs
- IdlingCommunicationPool.cs
- Activity.cs
- LayoutTableCell.cs
- WeakEventTable.cs
- connectionpool.cs
- PresentationTraceSources.cs
- MergeFailedEvent.cs
- Misc.cs
- GridViewUpdatedEventArgs.cs
- EncodingFallbackAwareXmlTextWriter.cs
- DataGridViewTextBoxEditingControl.cs
- BinHexDecoder.cs
- SHA512Managed.cs
- ImageField.cs
- ShaderEffect.cs
- RectAnimationClockResource.cs
- TraceSection.cs
- XmlnsCache.cs
- TreeNode.cs
- AsymmetricCryptoHandle.cs
- WebPartDisplayMode.cs
- BitmapEffectGroup.cs
- MainMenu.cs
- PreviewPrintController.cs
- AuthenticationException.cs
- GrammarBuilderBase.cs
- SqlException.cs
- SingleKeyFrameCollection.cs
- CodeValidator.cs
- WebPartsPersonalizationAuthorization.cs
- ImageSource.cs
- PackageProperties.cs
- IdentifierCreationService.cs
- InfoCardMetadataExchangeClient.cs
- Literal.cs
- TableSectionStyle.cs
- CodeComment.cs
- MailDefinitionBodyFileNameEditor.cs
- PersistenceTypeAttribute.cs
- InlineCollection.cs
- DomNameTable.cs
- PeekCompletedEventArgs.cs
- Tablet.cs
- TypedElement.cs
- TextUtf8RawTextWriter.cs
- BitmapEffectState.cs
- X509Utils.cs
- ToolStripPanelSelectionBehavior.cs
- ActivityTypeDesigner.xaml.cs
- TargetParameterCountException.cs
- BitVector32.cs
- RegexBoyerMoore.cs
- FixedTextContainer.cs
- DataGridViewCheckBoxColumn.cs
- IteratorAsyncResult.cs
- VectorAnimationUsingKeyFrames.cs
- RootProfilePropertySettingsCollection.cs
- SafeHandles.cs
- BrowserDefinitionCollection.cs
- PtsCache.cs
- InternalSafeNativeMethods.cs
- _TransmitFileOverlappedAsyncResult.cs
- Int16.cs
- WebRequestModuleElement.cs
- CatalogPartCollection.cs
- UpdateException.cs
- XamlInt32CollectionSerializer.cs
- BinaryWriter.cs
- Html32TextWriter.cs
- DbMetaDataCollectionNames.cs
- SqlSelectClauseBuilder.cs
- PriorityItem.cs
- DataTableMapping.cs
- ExclusiveHandle.cs
- Lease.cs
- BackgroundWorker.cs
- KerberosRequestorSecurityToken.cs
- XmlNodeReader.cs
- PrintDocument.cs
- ToolboxComponentsCreatedEventArgs.cs
- log.cs
- PermissionListSet.cs
- XmlSchemaAnyAttribute.cs