Udostępnij za pośrednictwem


ProvideObjectAttribute Klasa

Definicja

Informuje program Visual Studio, że pakiet VSPackage udostępnia obiekt, który można utworzyć na podstawie interfejsu ILocalRegistry. Klasa ta nie może być dziedziczona.

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
Dziedziczenie
ProvideObjectAttribute
Atrybuty

Przykłady

Implementacje ProvideObjectAttribute klasy można znaleźć w przykładach zarządzanych. Standardowa lokalizacja dla tego i wszystkich innych atrybutów używanych do automatycznej rejestracji jest sąsiadująca z implementacją Microsoft.VisualStudio.Package klasy w VsPkg.cs, VsPkg.vb lub VsPkg.cpp, w zależności od języka używanego w przykładzie.

Uwagi

Kiedy należy zadzwonić

ProvideObjectAttribute Zastosuj atrybut do Microsoft.VisualStudio.Packageklasy -pochodnej, jeśli udostępnia obiekt, który można utworzyć na podstawie interfejsuILocalRegistry.

Podstawowe użycie

Klasa ProvideObjectAttribute informuje program Visual Studio, że udostępnia obiekt, który można utworzyć na podstawie interfejsu ILocalRegistry. Zawsze używaj tego atrybutu, a nie rejestrowania obiektów globalnie w sekcji HKEY_CLASSES_ROOT\CLSID rejestru. Użyj klasy ProvideObjectAttribute, aby zmodyfikować klasę pochodną lub klasę Microsoft.VisualStudio.Package, która implementuje IVsPackageelement .

Ta klasa atrybutów służy tylko do dostarczania danych dla narzędzi rejestracji zewnętrznej, takich jak regpkg.exe. Nie ma żadnego wpływu na zachowanie środowiska uruchomieniowego pakietu VSPackage. Aby uzyskać więcej informacji, zobacz Rejestrowanie pakietów VSPackage.

Uwaga

Język C# automatycznie dołącza wyraz "Attribute" do nazwy dowolnej klasy atrybutu. W kodzie języka C# należy odwoływać się do tego atrybutu jako ProvideObject.

Wpisy rejestru

  • Następujące wpisy rejestru są tworzone przez klasę 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=Oba

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

Konstruktory

ProvideObjectAttribute(Type)

Ten konstruktor tworzy nowy ProvideObjectAttribute obiekt o danym typie obiektu.

Właściwości

ObjectType

Właściwość ObjectType zwraca typ obiektu ustawiony w konstruktorze.

RegisterUsing

Wybierz między określeniem wpisu Codebase lub wpisem Zestawu w rejestrze. Można to zastąpić podczas rejestracji

TypeId

Zastąp właściwość TypeID, aby umożliwić klasom pochodnym RegistrationAttribute pracować z elementem System.ComponentModel.TypeDescriptor.GetAttributes(...). Atrybut pochodzący z tej właściwości będzie musiał zastąpić tę właściwość tylko wtedy, gdy potrzebuje lepszej kontroli nad wystąpieniami, które można zastosować do klasy.

(Odziedziczone po RegistrationAttribute)

Metody

GetPackageRegKeyPath(Guid)

Pobiera ścieżkę rejestru (względem katalogu głównego rejestru aplikacji) pakietu VSPackage.

(Odziedziczone po RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Zawiera informacje o rejestracji pakietu VSPackage, gdy jest wywoływane przez zewnętrzne narzędzie rejestracji, takie jak regpkg.exe. Aby uzyskać więcej informacji, zobacz Rejestrowanie pakietów VSPackage.

Unregister(RegistrationAttribute+RegistrationContext)

Wyrejestrowuje ten atrybut.

Dotyczy