The BasicDesignerLoader.OnBeginLoad method is invoked to start the loading process. You should perform any necessary initialization for loading at this time. This method should not be used to perform the actual load. The default implementation disables change notifications and sets up the System.ComponentModel.Design.Serialization.BasicDesignerLoader for loading.
If you implement System.ComponentModel.Design.Serialization.IDesignerLoaderService to provide dependent load support, you should call BasicDesignerLoader.OnBeginLoad when the first dependent load occurs. Call the BasicDesignerLoader.OnEndLoad(bool, ICollection) method after the last call to the BasicDesignerLoader.System#ComponentModel#Design#Serialization#IDesignerLoaderService#DependentLoadComplete(bool, ICollection) method. By default, System.ComponentModel.Design.Serialization.BasicDesignerLoader implements System.ComponentModel.Design.Serialization.IDesignerLoaderService and does this for you. If System.ComponentModel.Design.Serialization.IDesignerLoaderService is not available when BasicDesignerLoader.BeginLoad(IDesignerLoaderHost) is called, BasicDesignerLoader.BeginLoad(IDesignerLoaderHost) will directly call BasicDesignerLoader.OnBeginLoad.
If you provide your own loader service, or if you choose not to provide a loader service, you are responsible for calling this method. The BasicDesignerLoader.BeginLoad(IDesignerLoaderHost) method will automatically call this, either indirectly by calling BasicDesignerLoader.System#ComponentModel#Design#Serialization#IDesignerLoaderService#AddLoadDependency if System.ComponentModel.Design.Serialization.IDesignerLoaderService is available, or directly if it is not.