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 | |
---|---|---|
ProvideObjectAttribute | Ten konstruktor tworzy nowy ProvideObjectAttribute obiektu typu danego obiektu. |
Początek
Właściwości
Nazwa | Opis | |
---|---|---|
ObjectType | ObjectType Właściwość zwraca typ obiektu, ustaw w konstruktorze. | |
RegisterUsing | Zwraca lub Ustawia metodę rejestracji. | |
TypeId | Pobiera bieżące wystąpienie tego atrybutu. (Odziedziczone z RegistrationAttribute). |
Początek
Metody
Nazwa | Opis | |
---|---|---|
Equals | Infrastruktura. Zwraca wartość, która wskazuje, czy to wystąpienie jest równa określonego obiektu. (Odziedziczone z Attribute). | |
GetHashCode | Zwraca kod skrótu dla tego wystąpienia. (Odziedziczone z Attribute). | |
GetType | Pobiera Type bieżącej instancji. (Odziedziczone z Object). | |
IsDefaultAttribute | Gdy zastąpiony w klasie pochodnej, wskazuje, czy wartość to wystąpienie jest wartością domyślną dla klasy pochodnej. (Odziedziczone z Attribute). | |
Match | Gdy zastąpiony w klasie pochodnej, zwraca wartość wskazującą, czy to wystąpienie jest równa określonego obiektu. (Odziedziczone z Attribute). | |
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)). | |
ToString | Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object). | |
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 | |
---|---|---|
_Attribute.GetIDsOfNames | Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłki. (Odziedziczone z Attribute). | |
_Attribute.GetTypeInfo | Pobiera informacje o typie dla obiektu, który można uzyskać informacji o typie dla interfejsu. (Odziedziczone z Attribute). | |
_Attribute.GetTypeInfoCount | Pobiera numer typu informacji interfejsów, że obiekt zawiera (0 lub 1). (Odziedziczone z Attribute). | |
_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.