FlavoredProjectFactoryBase Klasse

Definition

Basisklasse für Projektfactorys mit Typ.

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
Vererbung
FlavoredProjectFactoryBase
Implementiert

Beispiele

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);  
        }  
    }  
}  

Hinweise

Eine Implementierung einer Projekt-Factory, die mit einem Projekt bezeichnet wird, wird von definiert FlavoredProjectFactory . Überschreiben PreCreateForOuter Sie die Methode, um eine neue FlavoredProjectBase abgeleitete Klasse zurückzugeben. Die Methode der abgeleiteten Klasse GetGuidProperty kann die Vorlagen Suche umleiten, um neue Projektvorlagen für diese Konfiguration zu suchen.

Konstruktoren

FlavoredProjectFactoryBase()

Initialisiert eine neue Instanz von FlavoredProjectFactoryBase.

Eigenschaften

serviceProvider

Ruft den Dienstanbieter des Projekts ab.

Methoden

CanCreateProject(String, UInt32)

Bestimmt, ob das Projekt mit den angegebenen Parametern erstellt werden kann.

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

Erstellt ein Projekt.

Dispose(Boolean)

Gibt den Dienstanbieter frei.

Initialize()

Initialisiert die Projektfactory.

PreCreateForOuter(IntPtr)

Erstellt eine Instanz des Projekts.

ProjectTypeGuids(String)

Ruft den Satz der Projekttyp-GUIDs aus der Projektdatei ab.

Explizite Schnittstellenimplementierungen

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)

Gilt für