FlavoredProjectFactoryBase Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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. |