Klasa FlavoredProjectFactoryBase
Klasa podstawowa dla fabryk flavored projektu.
Hierarchia dziedziczenia
System.Object
Microsoft.VisualStudio.Shell.Flavor.FlavoredProjectFactoryBase
Przestrzeń nazw: Microsoft.VisualStudio.Shell.Flavor
Zestaw: Microsoft.VisualStudio.Shell.11.0 (w Microsoft.VisualStudio.Shell.11.0.dll)
Składnia
'Deklaracja
Public MustInherit Class FlavoredProjectFactoryBase _
Implements IVsAggregatableProjectFactoryCorrected, IVsProjectFactory
public abstract class FlavoredProjectFactoryBase : IVsAggregatableProjectFactoryCorrected,
IVsProjectFactory
Typ FlavoredProjectFactoryBase uwidacznia następujące elementy członkowskie.
Konstruktorzy
Nazwa | Opis | |
---|---|---|
![]() |
FlavoredProjectFactoryBase | Inicjuje nowe wystąpienie FlavoredProjectFactoryBase. |
Początek
Właściwości
Nazwa | Opis | |
---|---|---|
![]() |
serviceProvider | Pobiera usługodawca projektu. |
Początek
Metody
Nazwa | Opis | |
---|---|---|
![]() |
CanCreateProject | Określa, czy nie można utworzyć projektu z podanych parametrów. |
![]() |
CreateProject | Tworzy projekt. |
![]() |
Dispose | Zbywa usługodawca. |
![]() |
Equals | Określa, czy określony obiekt jest równa bieżącego obiektu. (Odziedziczone z Object). |
![]() |
Finalize | Umożliwia obiekt spróbuj zwolnić zasoby i wykonywania innych operacji oczyszczania, zanim jest odzyskane w procesie wyrzucania elementów bezużytecznych. (Odziedziczone z Object). |
![]() |
GetHashCode | Służy jako funkcja mieszania dla określonego typu. (Odziedziczone z Object). |
![]() |
GetType | Pobiera Type bieżącej instancji. (Odziedziczone z Object). |
![]() |
Initialize | Inicjuje factory projektu. |
![]() |
MemberwiseClone | Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object). |
![]() |
PreCreateForOuter | Tworzy instancję projektu. |
![]() |
ProjectTypeGuids | Zestaw projektów typu GUID są pobierane z pliku projektu. |
![]() |
ToString | Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object). |
Początek
Jawne implementacje interfejsu
Początek
Uwagi
Implementacja factory flavored projektu jest definiowany przez FlavoredProjectFactory.Zastąpić PreCreateForOuter metody zwraca nowy FlavoredProjectBase klasy.Klasa pochodna GetGuidProperty metody można przekierować wyszukiwania szablonów, aby znaleźć nowe szablony projektu dla tego smak.
Przykłady
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);
}
}
}
Bezpieczeństwo wątku
Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.