Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / Host / ExtenderProviderService.cs / 1 / ExtenderProviderService.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.ComponentModel.Design {
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Design;
using System.Diagnostics;
///
/// The extender provider service actually provides two services: IExtenderProviderService,
/// which allows other objects to add and remove extender providers, and IExtenderListService,
/// which is used by TypeDescriptor to discover the set of extender providers.
///
internal sealed class ExtenderProviderService : IExtenderProviderService, IExtenderListService {
private ArrayList _providers;
///
/// Internal ctor to prevent semitrust from creating us.
///
internal ExtenderProviderService() {
}
///
/// Gets the set of extender providers for the component.
///
IExtenderProvider[] IExtenderListService.GetExtenderProviders() {
if (_providers != null) {
IExtenderProvider[] providers = new IExtenderProvider[_providers.Count];
_providers.CopyTo(providers, 0);
return providers;
}
return new IExtenderProvider[0];
}
///
///
/// Adds an extender provider.
///
///
void IExtenderProviderService.AddExtenderProvider(IExtenderProvider provider) {
if (provider == null) {
throw new ArgumentNullException("provider");
}
if (_providers == null) {
_providers = new ArrayList(4);
}
if (_providers.Contains(provider)) {
throw new ArgumentException(SR.GetString(SR.ExtenderProviderServiceDuplicateProvider, provider));
}
_providers.Add(provider);
}
///
///
/// Removes
/// an extender provider.
///
///
void IExtenderProviderService.RemoveExtenderProvider(IExtenderProvider provider) {
if (provider == null) {
throw new ArgumentNullException("provider");
}
if (_providers != null) {
_providers.Remove(provider);
}
}
}
}
// 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
- DBConnectionString.cs
- CheckBoxFlatAdapter.cs
- FullTextState.cs
- HttpValueCollection.cs
- LabelTarget.cs
- AttachedAnnotationChangedEventArgs.cs
- Point3DAnimationBase.cs
- BitmapVisualManager.cs
- RunClient.cs
- DataServiceBuildProvider.cs
- WindowVisualStateTracker.cs
- DbProviderServices.cs
- WebConfigurationFileMap.cs
- MimeObjectFactory.cs
- UniformGrid.cs
- CacheChildrenQuery.cs
- TreeNodeClickEventArgs.cs
- QilReference.cs
- Cursors.cs
- SendMailErrorEventArgs.cs
- AdapterDictionary.cs
- SoapCommonClasses.cs
- XPathChildIterator.cs
- CssStyleCollection.cs
- BatchParser.cs
- FormatStringEditor.cs
- DynamicValueConverter.cs
- PageCodeDomTreeGenerator.cs
- TextElement.cs
- SpellerHighlightLayer.cs
- StorageConditionPropertyMapping.cs
- ThreadPool.cs
- webclient.cs
- RelatedView.cs
- VersionedStreamOwner.cs
- WinFormsSpinner.cs
- WmfPlaceableFileHeader.cs
- BamlWriter.cs
- DataFieldConverter.cs
- GeneralTransform3DTo2DTo3D.cs
- VisualStyleInformation.cs
- ProjectionQueryOptionExpression.cs
- Solver.cs
- RuntimeTrackingProfile.cs
- Knowncolors.cs
- FlagsAttribute.cs
- AssemblyCacheEntry.cs
- WebPartUserCapability.cs
- COMException.cs
- MemberInfoSerializationHolder.cs
- LogicalExpr.cs
- X509ScopedServiceCertificateElementCollection.cs
- SQLBoolean.cs
- XmlDataSource.cs
- TypedElement.cs
- ListViewUpdatedEventArgs.cs
- ConsumerConnectionPoint.cs
- FormatConvertedBitmap.cs
- TCPListener.cs
- ColorKeyFrameCollection.cs
- ObjectSecurity.cs
- CleanUpVirtualizedItemEventArgs.cs
- Mutex.cs
- ObjectItemCollection.cs
- AutoResizedEvent.cs
- DashStyles.cs
- TextSerializer.cs
- SmiXetterAccessMap.cs
- HttpListenerPrefixCollection.cs
- PositiveTimeSpanValidatorAttribute.cs
- HelloOperationAsyncResult.cs
- PostBackTrigger.cs
- KeySplineConverter.cs
- Image.cs
- BlockCollection.cs
- DeferredSelectedIndexReference.cs
- AddInToken.cs
- ToolStripItemImageRenderEventArgs.cs
- SiteMapSection.cs
- HMACSHA512.cs
- SByte.cs
- SelectionItemPattern.cs
- DirectoryRedirect.cs
- EmbossBitmapEffect.cs
- CheckBoxDesigner.cs
- HttpHandlersSection.cs
- ProtocolsConfigurationEntry.cs
- FactoryGenerator.cs
- ConfigurationCollectionAttribute.cs
- CaseStatement.cs
- Int32Storage.cs
- MobileControlsSectionHandler.cs
- basecomparevalidator.cs
- WebBrowserHelper.cs
- TdsParserHelperClasses.cs
- updateconfighost.cs
- ResXDataNode.cs
- listitem.cs
- IisTraceWebEventProvider.cs
- DataPagerFieldItem.cs