Поделиться через


ProvideObjectAttribute Класс

Определение

Сообщает Visual Studio, что VSPackage предоставляет объект, который можно создать из ILocalRegistryинтерфейса . Этот класс не наследуется.

public ref class ProvideObjectAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
public ref class ProvideObjectAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideObjectAttribute : Microsoft.VisualStudio.Shell.RegistrationAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideObjectAttribute = class
    inherit RegistrationAttribute
Public NotInheritable Class ProvideObjectAttribute
Inherits RegistrationAttribute
Наследование
ProvideObjectAttribute
Атрибуты

Примеры

Реализации класса можно найти в ProvideObjectAttribute управляемых примерах. Стандартное расположение для этого и всех остальных атрибутов, используемых для автоматической регистрации, смежно с реализацией Microsoft.VisualStudio.Package класса в VsPkg.cs, VsPkg.vb или VsPkg.cpp в зависимости от языка, используемого в примере.

Комментарии

Когда следует звонить

Примените атрибут к классу ProvideObjectAttributeMicrosoft.VisualStudio.Package, производным от , если он предоставляет объект, который можно создать из ILocalRegistryинтерфейса .

Основное использование

Класс ProvideObjectAttribute сообщает Visual Studio, что предоставляет объект, который можно создать из ILocalRegistryинтерфейса . Всегда используйте этот атрибут вместо глобальной регистрации объектов в разделе HKEY_CLASSES_ROOT\CLSID реестра. ProvideObjectAttributeИспользуйте , чтобы изменить класс, производный Microsoft.VisualStudio.Packageот , или класс, реализующий IVsPackage.

Этот класс атрибута используется только для предоставления данных для внешних средств регистрации, таких как regpkg.exe. Это не влияет на поведение vsPackage во время выполнения. Дополнительные сведения см. в разделе Регистрация пакетов VSPackage.

Примечание

C# автоматически добавляет слово "Атрибут" к имени любого класса атрибута. В коде C# указать этот атрибут как ProvideObject.

Записи реестра

  • Класс создает ProvideObjectAttribute следующие записи реестра:

  • <VSROOT>\CLSID\{ObjectGuid}

  • <VSROOT>\CLSID\{ObjectGuid}\@=ObjectType.FullName

  • <VSROOT>\CLSID\{ObjectGuid}\InprocServer32=mscoree.dll

  • <VSROOT>\CLSID\{ObjectGuid}\Class=ObjectType.FullName

  • <VSROOT>\CLSID\{ObjectGuid}\Assembly=ObjectType.Assembly.FullName

  • <VSROOT>\CLSID\{ObjectGuid}\ThreadingModel=Both

  • <VSROOT>\CLSID\{PackageGuid}\CodeBase=context. Codebase

Конструкторы

ProvideObjectAttribute(Type)

Этот конструктор создает новый объект ProvideObjectAttribute с заданным типом объекта.

Свойства

ObjectType

Свойство ObjectType возвращает тип объекта, заданный в конструкторе.

RegisterUsing

Выберите между указанием записи Codebase или сборки в реестре. Это может быть переопределено во время регистрации

TypeId

Переопределите свойство TypeID, чтобы разрешить производным классам RegistrationAttribute работать с System.ComponentModel.TypeDescriptor.GetAttributes(...). Атрибут, производный от этого , должен переопределять это свойство только в том случае, если ему требуется более качественный контроль над экземплярами, которые можно применить к классу.

(Унаследовано от RegistrationAttribute)

Методы

GetPackageRegKeyPath(Guid)

Получает путь в реестре (относительно корня реестра приложения) VSPackage.

(Унаследовано от RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Предоставляет сведения о регистрации VSPackage при вызове внешним средством регистрации, например regpkg.exe. Дополнительные сведения см. в разделе Регистрация пакетов VSPackage.

Unregister(RegistrationAttribute+RegistrationContext)

Отменяет регистрацию этого атрибута.

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