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 типов проектов из файла проекта.

Явные реализации интерфейса

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)

Применяется к