FlavoredProjectFactoryBase Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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. |