/// <include file='doc\DesignerService.uex' path='docs/doc[@for="DesignerService.IVSMDDesignerService.CreateDesignerForClass"]/*' /> /// <devdoc> /// Creates an instance of the designer using the provided information. /// </devdoc> IVSMDDesigner IVSMDDesignerService.CreateDesignerForClass(object provider, string componentClass) { IVSMDDesigner designer = null; try { Debug.WriteLineIf(Switches.DESIGNERSERVICE.TraceVerbose, "DesignerService::CreateDesignerForClass"); if (!(provider is NativeMethods.IOleServiceProvider)) { throw new ArgumentException("provider"); } DocumentManager dm = GetDocumentManager(); if (dm != null) { ServiceProviderArray docProvider = new ServiceProviderArray(new IServiceProvider[] { new DesignerServiceProvider((NativeMethods.IOleServiceProvider)provider), this }); designer = (IVSMDDesigner)dm.CreateDesigner(componentClass, docProvider); } } catch (Exception e) { Debug.Fail("Failed to create designer", e.ToString()); throw e; } return(designer); }
/// <include file='doc\DesignerService.uex' path='docs/doc[@for="DesignerService.IVSMDDesignerService.CreateDesigner"]/*' /> /// <devdoc> /// Creates an instance of the designer using the provided information. /// </devdoc> IVSMDDesigner IVSMDDesignerService.CreateDesigner(object provider, object designerLoader) { CodeDomLoader.StartMark(); IVSMDDesigner designer = null; try { Debug.WriteLineIf(Switches.DESIGNERSERVICE.TraceVerbose, "DesignerService::CreateDesigner"); if (!(provider is NativeMethods.IOleServiceProvider)) { throw new ArgumentException("provider"); } if (!(designerLoader is DesignerLoader)) { Debug.WriteLineIf(Switches.DESIGNERSERVICE.TraceVerbose, "\tERROR: Code stream does not extend DesignerLoader"); throw new Exception(SR.GetString(SR.DESIGNERSERVICEBadDesignerLoader, SR.GetString(SR.DESIGNERSERVICEUnknownName))); } DocumentManager dm = GetDocumentManager(); if (dm != null) { ServiceProviderArray docProvider = new ServiceProviderArray(new IServiceProvider[] { new DesignerServiceProvider((NativeMethods.IOleServiceProvider)provider), this }); designer = (IVSMDDesigner)dm.CreateDesigner((DesignerLoader)designerLoader, docProvider); } } catch (Exception e) { Debug.Fail("Failed to create designer", e.ToString()); throw e; } CodeDomLoader.EndMark("CreateDesigner"); return(designer); }