FlavoredProjectFactoryBase, classe
Classe de base pour les fabriques assaisonnées de projet.
Hiérarchie d'héritage
System.Object
Microsoft.VisualStudio.Shell.Flavor.FlavoredProjectFactoryBase
Espace de noms : Microsoft.VisualStudio.Shell.Flavor
Assembly : Microsoft.VisualStudio.Shell.11.0 (dans Microsoft.VisualStudio.Shell.11.0.dll)
Syntaxe
'Déclaration
Public MustInherit Class FlavoredProjectFactoryBase _
Implements IVsAggregatableProjectFactoryCorrected, IVsProjectFactory
public abstract class FlavoredProjectFactoryBase : IVsAggregatableProjectFactoryCorrected,
IVsProjectFactory
Le type FlavoredProjectFactoryBase expose les membres suivants.
Constructeurs
Nom | Description | |
---|---|---|
FlavoredProjectFactoryBase | Initialise une nouvelle instance d'FlavoredProjectFactoryBase. |
Début
Propriétés
Nom | Description | |
---|---|---|
serviceProvider | Obtient le fournisseur de services du projet. |
Début
Méthodes
Nom | Description | |
---|---|---|
CanCreateProject | Détermine si le projet peut être créé avec les paramètres fournis. | |
CreateProject | Crée un projet. | |
Dispose | Supprime le fournisseur de services. | |
Equals | Détermine si l'objet Object spécifié est égal à l'objet Object actuel. (Hérité de Object.) | |
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) | |
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
Initialize | Initialise la fabrique de projet. | |
MemberwiseClone | Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.) | |
PreCreateForOuter | Crée une instance du projet. | |
ProjectTypeGuids | Obtient le jeu de type GUID de projet à partir du fichier projet. | |
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
Début
Implémentations d'interface explicite
Début
Remarques
Une implémentation d'une fabrique assaisonnée de projet est définie par FlavoredProjectFactory.Substituez la méthode d'PreCreateForOuter pour retourner une nouvelle classe dérivée d'FlavoredProjectBase.La méthode d'GetGuidProperty de classe dérivée peut rediriger la recherche de modèles pour rechercher de nouveaux modèles de projet pour cette version.
Exemples
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);
}
}
}
Sécurité des threads
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.