FlavoredProjectFactoryBase Classe

Definição

Classe base para fábricas de projeto recriadas.

public ref class FlavoredProjectFactoryBase abstract : Microsoft::VisualStudio::Shell::Flavor::IVsAggregatableProjectFactoryCorrected, Microsoft::VisualStudio::Shell::Interop::IVsProjectFactory
[Windows::Foundation::Metadata::WebHostHidden]
class FlavoredProjectFactoryBase abstract : Microsoft::VisualStudio::Shell::Flavor::IVsAggregatableProjectFactoryCorrected, Microsoft::VisualStudio::Shell::Interop::IVsProjectFactory
public abstract class FlavoredProjectFactoryBase : Microsoft.VisualStudio.Shell.Flavor.IVsAggregatableProjectFactoryCorrected, Microsoft.VisualStudio.Shell.Interop.IVsProjectFactory
type FlavoredProjectFactoryBase = class
    interface IVsAggregatableProjectFactoryCorrected
    interface IVsProjectFactory
Public MustInherit Class FlavoredProjectFactoryBase
Implements IVsAggregatableProjectFactoryCorrected, IVsProjectFactory
Herança
FlavoredProjectFactoryBase
Implementações

Exemplos

namespace Microsoft.Samples.VisualStudio.IronPythonProject.WPFProviders  
{  
    [ComVisible(true)]  
    [ClassInterface(ClassInterfaceType.None)]  
    [Guid("FEBF49B8-D18C-4745-ADE0-35BF632E0533")]  
    public class PythonWPFFlavor : FlavoredProjectBase  
    {  
        public PythonWPFFlavor(IServiceProvider site)  
        {  
            this.serviceProvider = site;  
        }  

        protected override Guid GetGuidProperty(uint itemId, int propId)  
        {  
            if (propId ==   
                (int)__VSHPROPID2.VSHPROPID_AddItemTemplatesGuid)  
            {  
                return typeof(PythonWPFProjectFactory).GUID;  
            }  
            return base.GetGuidProperty(itemId, propId);  
        }  

        protected override int GetProperty(uint itemId, int propId, out object property)  
        {  
            return base.GetProperty(itemId, propId, out property);  
        }  
    }  
    [Guid(PythonWPFProjectFactory.PythonWPFProjectFactoryGuid)]  
    public class PythonWPFProjectFactory : FlavoredProjectFactoryBase  
    {  
        public const string PythonWPFProjectFactoryGuid = "229B3E77-97E9-4f6d-9151-E6D103EA4D4A";  

        private IServiceProvider site;  
        public PythonWPFProjectFactory(IServiceProvider site) : base()  
        {  
            this.site = site;  
        }  

        protected override object PreCreateForOuter(IntPtr outerProjectIUnknown)  
        {  
            return new PythonWPFFlavor(site);  
        }  
    }  
}  

Comentários

Uma implementação de uma fábrica de projetos reprojetado é definida pelo FlavoredProjectFactory . Substitua o PreCreateForOuter método para retornar uma nova FlavoredProjectBase classe derivada. O método de classe derivada GetGuidProperty pode redirecionar a pesquisa de modelos para localizar novos modelos de projeto para esse tipo.

Construtores

FlavoredProjectFactoryBase()

Inicializa uma nova instância de FlavoredProjectFactoryBase.

Propriedades

serviceProvider

Obtém o provedor de serviços do projeto.

Métodos

CanCreateProject(String, UInt32)

Determina se o projeto pode ou não ser criado com os parâmetros fornecidos.

CreateProject(String, String, String, UInt32, Guid, IntPtr, Int32)

Cria um projeto.

Dispose(Boolean)

Descarta o provedor de serviços.

Initialize()

Inicializa a fábrica de projetos.

PreCreateForOuter(IntPtr)

Cria uma instância do projeto.

ProjectTypeGuids(String)

Obtém o conjunto de GUIDs de tipo de projeto do arquivo de projeto.

Implantações explícitas de interface

IVsAggregatableProjectFactoryCorrected.GetAggregateProjectType(String, String)
IVsAggregatableProjectFactoryCorrected.PreCreateForOuter(IntPtr, IntPtr)
IVsProjectFactory.CanCreateProject(String, UInt32, Int32)
IVsProjectFactory.Close()
IVsProjectFactory.CreateProject(String, String, String, UInt32, Guid, IntPtr, Int32)
IVsProjectFactory.SetSite(IServiceProvider)

Aplica-se a