Udostępnij za pośrednictwem


Klasa ProvideObjectAttribute

Informuje program Visual Studio, że VSPackage zawiera obiekt utworzony z ILocalRegistryinterfejsu.Klasa ta nie może być dziedziczona.

Hierarchia dziedziczenia

System.Object
  System.Attribute
    Microsoft.VisualStudio.Shell.RegistrationAttribute
      Microsoft.VisualStudio.Shell.ProvideObjectAttribute

Przestrzeń nazw:  Microsoft.VisualStudio.Shell
Zestaw:  Microsoft.VisualStudio.Shell.11.0 (w Microsoft.VisualStudio.Shell.11.0.dll)

Składnia

'Deklaracja
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := True)> _
Public NotInheritable Class ProvideObjectAttribute _
    Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideObjectAttribute : RegistrationAttribute

Typ ProvideObjectAttribute uwidacznia następujące elementy członkowskie.

Konstruktorzy

  Nazwa Opis
Metoda publiczna ProvideObjectAttribute Ten konstruktor tworzy nowy ProvideObjectAttribute obiektu typu danego obiektu.

Początek

Właściwości

  Nazwa Opis
Właściwość publiczna ObjectType ObjectType Właściwość zwraca typ obiektu, ustaw w konstruktorze.
Właściwość publiczna RegisterUsing Zwraca lub Ustawia metodę rejestracji.
Właściwość publiczna TypeId Pobiera bieżące wystąpienie tego atrybutu. (Odziedziczone z RegistrationAttribute).

Początek

Metody

  Nazwa Opis
Metoda publiczna Equals Infrastruktura. Zwraca wartość, która wskazuje, czy to wystąpienie jest równa określonego obiektu. (Odziedziczone z Attribute).
Metoda publiczna GetHashCode Zwraca kod skrótu dla tego wystąpienia. (Odziedziczone z Attribute).
Metoda publiczna GetType Pobiera Type bieżącej instancji. (Odziedziczone z Object).
Metoda publiczna IsDefaultAttribute Gdy zastąpiony w klasie pochodnej, wskazuje, czy wartość to wystąpienie jest wartością domyślną dla klasy pochodnej. (Odziedziczone z Attribute).
Metoda publiczna Match Gdy zastąpiony w klasie pochodnej, zwraca wartość wskazującą, czy to wystąpienie jest równa określonego obiektu. (Odziedziczone z Attribute).
Metoda publiczna Register Zawiera informacje rejestracyjne VSPackage, gdy wywoływana przez narzędzie rejestracji zewnętrznych, takich jak regpkg.exe.Aby uzyskać więcej informacji, zobacz Rejestrowanie VSPackages. (Zastępuje RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)).
Metoda publiczna ToString Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object).
Metoda publiczna Unregister Usuwa informacje rejestracyjne VSPackage, gdy wywoływana przez narzędzie rejestracji zewnętrznych, takich jak regpkg.exe.Aby uzyskać więcej informacji, zobacz Rejestrowanie VSPackages. (Zastępuje RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)).

Początek

Jawne implementacje interfejsu

  Nazwa Opis
Jawna implementacja interfejsuMetoda prywatna _Attribute.GetIDsOfNames Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłki. (Odziedziczone z Attribute).
Jawna implementacja interfejsuMetoda prywatna _Attribute.GetTypeInfo Pobiera informacje o typie dla obiektu, który można uzyskać informacji o typie dla interfejsu. (Odziedziczone z Attribute).
Jawna implementacja interfejsuMetoda prywatna _Attribute.GetTypeInfoCount Pobiera numer typu informacji interfejsów, że obiekt zawiera (0 lub 1). (Odziedziczone z Attribute).
Jawna implementacja interfejsuMetoda prywatna _Attribute.Invoke Zapewnia dostęp do właściwości i metod udostępnianych przez obiekt. (Odziedziczone z Attribute).

Początek

Uwagi

Kiedy zadzwonić

Stosuje się ProvideObjectAttribute atrybutu do sieci Microsoft.VisualStudio.Package-uzyskane klasy, jeśli zawiera ona obiekt utworzony z ILocalRegistryinterfejsu.

Wykorzystanie podstawowych

ProvideObjectAttribute Klasy informuje program Visual Studio, że zapewnia ona obiekt utworzony z ILocalRegistryinterfejsu.Zawsze używaj tego atrybutu, a nie obiektów rejestracji globalnie sekcji HKEY_CLASSES_ROOT\CLSID rejestru.Użyj ProvideObjectAttribute, aby zmodyfikować Microsoft.VisualStudio.Package-klasa lub klasy, która implementuje IVsPackage.

Ten atrybut klasy jest używane do dostarczania danych dla narzędzia rejestracji zewnętrzne, takie jak regpkg.exe.Nie ma natomiast wpływu na zachowanie run-time VSPackage.Aby uzyskać więcej informacji, zobacz Rejestrowanie VSPackages.

[!UWAGA]

C# automatycznie dołącza wyraz "Atrybutu" do nazwy dowolnej klasy atrybutu.Kod C#, odnoszą się do tego atrybutu jako ProvideObject.

Wpisy rejestru

  • Następujące wpisy rejestru są tworzone przez ProvideObjectAttribute klasy:

  • \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 <VSROOT>.CodeBase

Przykłady

Można znaleźć implementacje ProvideObjectAttribute klasy w próbkach zarządzanych.Standard lokalizacji dla tego i innych atrybutów używanych do automatycznej rejestracji jest przylegających do wykonania Microsoft.VisualStudio.Package klasy VsPkg.cs, VsPkg.vb lub VsPkg.cpp, w zależności od języka używanego w próbce.

Bezpieczeństwo wątku

Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.Shell