ProvideObjectAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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. |