Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- MissingSatelliteAssemblyException.cs
- SafeNativeMethods.cs
- ListChangedEventArgs.cs
- EntityCollection.cs
- MultiByteCodec.cs
- WindowsTooltip.cs
- __ComObject.cs
- TraceSource.cs
- OneOfElement.cs
- ButtonBaseAutomationPeer.cs
- MenuItemBinding.cs
- FormViewPagerRow.cs
- ListViewItemSelectionChangedEvent.cs
- SamlAssertionKeyIdentifierClause.cs
- ListViewCancelEventArgs.cs
- PageAdapter.cs
- XamlPoint3DCollectionSerializer.cs
- XPathScanner.cs
- ToolboxService.cs
- TraceSwitch.cs
- ContractMethodParameterInfo.cs
- WindowsGraphics2.cs
- MachineKeyConverter.cs
- EntityStoreSchemaFilterEntry.cs
- ExtensionDataObject.cs
- WindowsClientElement.cs
- SqlDataRecord.cs
- Quaternion.cs
- QueryCursorEventArgs.cs
- SafeCryptoHandles.cs
- DiagnosticsConfigurationHandler.cs
- COM2Properties.cs
- DBConcurrencyException.cs
- Decorator.cs
- DataObjectAttribute.cs
- ConstraintConverter.cs
- DataDocumentXPathNavigator.cs
- QueueAccessMode.cs
- AtlasWeb.Designer.cs
- EventListener.cs
- UdpReplyToBehavior.cs
- ExternalCalls.cs
- AdPostCacheSubstitution.cs
- ManagedIStream.cs
- ObjectDataProvider.cs
- _OSSOCK.cs
- MergeFilterQuery.cs
- SecurityElement.cs
- ApplicationInfo.cs
- Emitter.cs
- BamlVersionHeader.cs
- ContentTypeSettingDispatchMessageFormatter.cs
- _BasicClient.cs
- ApplyImportsAction.cs
- ExpressionDumper.cs
- SmuggledIUnknown.cs
- XmlTextAttribute.cs
- AnnotationAuthorChangedEventArgs.cs
- RegexMatch.cs
- FolderLevelBuildProvider.cs
- WebServiceBindingAttribute.cs
- SQLInt64Storage.cs
- BehaviorService.cs
- XmlWrappingWriter.cs
- SymbolMethod.cs
- SoapProcessingBehavior.cs
- ResolveRequestResponseAsyncResult.cs
- DataServiceHost.cs
- UnsafeNativeMethods.cs
- KeyValuePairs.cs
- DllNotFoundException.cs
- CreateRefExpr.cs
- FixedSOMContainer.cs
- ScriptResourceHandler.cs
- FixedSOMTableRow.cs
- SoapParser.cs
- SignatureToken.cs
- SignedPkcs7.cs
- mediaeventshelper.cs
- Listbox.cs
- ChtmlCalendarAdapter.cs
- DockPattern.cs
- CompositeActivityTypeDescriptorProvider.cs
- UniqueConstraint.cs
- XmlExtensionFunction.cs
- CompiledRegexRunnerFactory.cs
- SoapObjectWriter.cs
- TdsParserSessionPool.cs
- Font.cs
- PasswordBox.cs
- SqlDataRecord.cs
- ValidationSummaryDesigner.cs
- ConfigXmlComment.cs
- DocumentOrderQuery.cs
- ConsumerConnectionPoint.cs
- BooleanProjectedSlot.cs
- AutoCompleteStringCollection.cs
- DataGridTablesFactory.cs
- StreamAsIStream.cs
- SmiConnection.cs