FlavoredProjectFactoryBase Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Базовый класс для фабрик предпочтительных проектов.
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
- Наследование
-
FlavoredProjectFactoryBase
- Реализации
Примеры
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);
}
}
}
Комментарии
Реализация фабрики проектов с определенными флагами определяется FlavoredProjectFactory . Переопределите PreCreateForOuter метод, чтобы он возвращал новый FlavoredProjectBase производный класс. Метод производного класса GetGuidProperty может перенаправить поиск шаблонов для поиска новых шаблонов проектов для этой разновидности.
Конструкторы
| FlavoredProjectFactoryBase() |
Инициализирует новый экземпляр FlavoredProjectFactoryBase. |
Свойства
| serviceProvider |
Получает поставщик служб проекта. |
Методы
| CanCreateProject(String, UInt32) |
Определяет, будет ли проект создан с предоставленными параметрами. |
| CreateProject(String, String, String, UInt32, Guid, IntPtr, Int32) |
Создает проект. |
| Dispose(Boolean) |
Удаляет поставщик служб. |
| Initialize() |
Инициализирует фабрику проектов. |
| PreCreateForOuter(IntPtr) |
Создает экземпляр проекта. |
| ProjectTypeGuids(String) |
Получает набор GUID типов проектов из файла проекта. |