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 управляемых примерах. Стандартное расположение для этого и всех остальных атрибутов, используемых для автоматической регистрации, смежно с реализацией 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) |
Отменяет регистрацию этого атрибута. |