Classe FlavoredProjectFactoryBase
Classe base per le factory condite di progetto.
Gerarchia di ereditarietà
System.Object
Microsoft.VisualStudio.Shell.Flavor.FlavoredProjectFactoryBase
Spazio dei nomi: Microsoft.VisualStudio.Shell.Flavor
Assembly: Microsoft.VisualStudio.Shell.11.0 (in Microsoft.VisualStudio.Shell.11.0.dll)
Sintassi
'Dichiarazione
Public MustInherit Class FlavoredProjectFactoryBase _
Implements IVsAggregatableProjectFactoryCorrected, IVsProjectFactory
public abstract class FlavoredProjectFactoryBase : IVsAggregatableProjectFactoryCorrected,
IVsProjectFactory
Il tipo FlavoredProjectFactoryBase espone i seguenti membri.
Costruttori
Nome | Descrizione | |
---|---|---|
FlavoredProjectFactoryBase | inizializza una nuova istanza di FlavoredProjectFactoryBase. |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
serviceProvider | Ottiene il provider di servizi del progetto. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
CanCreateProject | Determina se il progetto può essere creato con i parametri forniti. | |
CreateProject | crea un progetto. | |
Dispose | elimina il provider di servizi. | |
Equals | Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object) | |
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) | |
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) | |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) | |
Initialize | Inizializza la factory del progetto. | |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) | |
PreCreateForOuter | Crea un'istanza del progetto. | |
ProjectTypeGuids | Ottiene il set di tipi di progetto GUID dal file di progetto. | |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
In alto
Implementazioni esplicite dell'interfaccia
In alto
Note
L'implementazione di una factory condita di progetto è definita da FlavoredProjectFactory.Eseguire l'override del metodo di PreCreateForOuter per restituire una nuova classe derivata di FlavoredProjectBase .Il metodo di GetGuidProperty della classe derivata possibile reindirizzare i modelli ricerca per trovare i nuovi modelli di progetto per questa versione.
Esempi
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);
}
}
}
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.