This documentation is archived and is not being maintained.

BasicDesignerLoader Class

Provides an implementation of the IDesignerLoaderService interface.

Namespace:  System.ComponentModel.Design.Serialization
Assembly:  System.Design (in System.Design.dll)

[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
[PermissionSetAttribute(SecurityAction.LinkDemand, Name = "FullTrust")]
public abstract class BasicDesignerLoader : DesignerLoader, 

The BasicDesignerLoader type exposes the following members.

Protected methodBasicDesignerLoaderInitializes a new instance of the BasicDesignerLoader class.

Protected propertyLoaderHostGets the loader host.
Public propertyLoadingGets a value indicating whether the designer loader is loading the design surface. (Overrides DesignerLoader.Loading.)
Protected propertyModifiedGets or sets a value indicating whether the designer has been modified.
Protected propertyPropertyProviderGets or sets the property provider for the serialization manager being used by the loader.
Protected propertyReloadPendingGets a value indicating whether a reload has been queued.

Public methodBeginLoadStarts the loading process. (Overrides DesignerLoader.BeginLoad(IDesignerLoaderHost).)
Public methodDisposeReleases the resources used by the BasicDesignerLoader. (Overrides DesignerLoader.Dispose().)
Protected methodEnableComponentNotificationEnables or disables component notification with the DesignerLoader.
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodFlushFlushes pending changes to the designer loader. (Overrides DesignerLoader.Flush().)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Protected methodGetServiceGets the requested service.
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodInitializeInitializes services.
Protected methodIsReloadNeededIndicates whether the designer should be reloaded.
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Protected methodOnBeginLoadNotifies the designer loader that loading is about to begin.
Protected methodOnBeginUnloadNotifies the designer loader that unloading is about to begin.
Protected methodOnEndLoadNotifies the designer loader that loading is complete.
Protected methodOnModifyingNotifies the designer loader that the state of the document is about to be modified.
Protected methodPerformFlushFlushes all changes to the designer.
Protected methodPerformLoadLoads a designer from persistence.
Protected methodReloadQueues a reload of the designer.
Protected methodReportFlushErrorsReports errors that occurred while flushing changes.
Protected methodSetBaseComponentClassNameSets the full class name of the base component.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

Explicit interface implemetationPrivate methodIDesignerLoaderService.AddLoadDependencyRegisters an external component as part of the load process managed by IDesignerLoaderService.
Explicit interface implemetationPrivate methodIDesignerLoaderService.DependentLoadCompleteSignals that a dependent load has finished.
Explicit interface implemetationPrivate methodIDesignerLoaderService.ReloadReloads the design document.

A BasicDesignerLoader is a complete implementation of a designer loader without anything relating to a persistence format. A BasicDesignerLoader does not dictate either a text or binary persistence, but it does support the following features:

  • Multiple load dependencies.

  • Tracking changes within the designer.

  • Deferred idle-time reloading.

A BasicDesignerLoader adds two kinds of services to the designer host’s service container: replaceable services and irreplaceable services. You can replace a replaceable service by changing the value of the protected LoaderHost property. You cannot replace irreplaceable services because their implementations depend on each other.

The following table describes the services that are provided by default.

Default Service



Allows objects to request that the designer reload itself when it is idle. This is a replaceable service.


Used to serialize and deserialize objects. The serialization manager is added as a service so objects that need to perform serialization can utilize any serialization providers that were added to the serialization manager. This is an irreplaceable service.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.