Klasa ProvideProfileAttribute
Stosuje się ten atrybut do niezależnych obiektów używanych do implementowania VSPackage Visual Studio obsługa ustawień.
Hierarchia dziedziczenia
System.Object
System.Attribute
Microsoft.VisualStudio.Shell.RegistrationAttribute
Microsoft.VisualStudio.Shell.ProvideProfileAttribute
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 ProvideProfileAttribute _
Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideProfileAttribute : RegistrationAttribute
Typ ProvideProfileAttribute uwidacznia następujące elementy członkowskie.
Konstruktorzy
Nazwa | Opis | |
---|---|---|
![]() |
ProvideProfileAttribute | Inicjuje nowe wystąpienie ProvideProfileAttribute. |
Początek
Właściwości
Nazwa | Opis | |
---|---|---|
![]() |
AlternateParent | Pobiera lub ustawia nazwę różnych kategorii w profilu. |
![]() |
CategoryName | Pobiera nazwę kanoniczną niezlokalizowanej Visual Studio ustawienia kategorii. |
![]() |
CategoryResourceID | Pobiera identyfikator zasobu Nazwa Visual Studio ustawienia kategorii. |
![]() |
DescriptionResourceID | Pobiera identyfikator zasobu zlokalizowany opis tej strony profilu. |
![]() |
GroupName | Pobiera nazwę niezlokalizowanej tej grupy. |
![]() |
GroupResourceID | Zwraca lub ustawia identyfikator zasobów zlokalizowanych z grupy, do której należy ta strona. |
![]() |
IsToolsOptionPage | Pobiera się, czy jest to również Opcje narzędzia strony. |
![]() |
MigrationType | Ustawia akcję migracji do wykonania dla tej kategorii. |
![]() |
ObjectName | Pobiera nazwę kanoniczną niezlokalizowanej tę stronę w profilu. |
![]() |
ObjectNameResourceID | Pobiera identyfikator zasobu zlokalizowana nazwa tej strony w profilu. |
![]() |
ObjectType | Pobiera typu strony. |
![]() |
ResourcePackageGuid | Zwraca lub ustawia identyfikator GUID pakietu, zapewniając ciągów zasobów. |
![]() |
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 | Rejestruje ten atrybut. (Zastępuje RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)). |
![]() |
ToString | Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object). |
![]() |
Unregister | Powoduje usunięcie klucza rejestru. (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
Uwagi do wywoływania
Stosuje się ProvideProfileAttribute atrybutu do wykonania VSPackage po klasy implementującej klasy Visual Studio ustawienia funkcji VSPackage, pozwalając im na zapisywanie i pobieranie informacji o stanie VSPackage.
[!UWAGA]
Klasy wykonawczych IProfileManager, również musi implementować IComponent, które mogą być wykonywane przez wynikające z klasy Component.
Atrybutu kontekstu
Stosuje się do |
Za pomocą VSPackages Visual Studio mechanizmu ustawienia za pomocą klasy wdrożenie tego IProfileManager lub DialogPage interfejsów. |
Powtarzalne |
Tak |
Wymagane atrybuty |
DefaultRegistryRootAttribute, Uwaga Jeśli wykonawczych klasy Visual Studio zapewnia także ustawienia Opcje narzędzia stronę, ProvideOptionPageAttribute jest również wymagane. |
Nieprawidłowe atrybuty |
Brak |
Uwagi do implementacji
Ten atrybut jest używany tylko do celów rejestracji i nie wpływa na zachowanie środowiska wykonawczego.
ProvideProfileAttributerejestruje klasy wykonawczych IProfileManager lub DialogPage jako zapewnienie wsparcia dla części utrzymujących lub wszystkie Państwa VSPackage przez Visual Studio mechanizmu ustawienia.Informacje o stanie są zachowywane przez zaimplementowanie klasy jest określone jako Visual Studio ustawienia kategorii i jego definiujących wpis w rejestrze jest określane jako punkt ustawienia niestandardowe.
Gdy użytkownik wybierze Ustawienia importu i eksportu polecenia na Narzędzia menu, aby zapisać Visual Studio ustawienia, klas, zarejestrowanych przez ProvideProfileAttribute są tworzone wystąpienia IDE i używane, aby zapisać ustawienia.
W związku z tym:
Visual StudioObsługa ustawień powinny zostać wdrożone na swój własny obiekt, a nie na VSPackage, sam.
Klasa wykonawczych Visual Studio ustawienia mogą obsługiwać tylko jeden Visual Studio ustawienia kategorii, jak określono w pkt ustawienia niestandardowe.
Jednak pojedynczy VSPackage może obsługiwać kilka Visual Studio ustawienia kategorii, jak określono wiele punktów ustawienia niestandardowe tak długo, jak:
Każdy Visual Studio ustawienia kategorii jest zaimplementowana w osobnej klasy..
Każda klasa wykonawczych Visual Studio ustawienia jest zarejestrowany jako pomocnicze VSPackage własnej instancji ProvideProfileAttribute.
[!UWAGA]
To różni się od implementacji opartą na modelu COM, w przypadku, gdy klasa wykonawczych Visual Studio ustawienia może obsługiwać wiele punktów ustawienia niestandardowe.
Wystąpienie ProvideProfileAttribute:
Jednoznacznie identyfikuje punkt ustawienia niestandardowe Visual Studio ustawienia kategorii o identyfikatorze GUID uzyskanych z Type wykonawczych klasy Visual Studio ustawienia.
Zestawy Visual Studio nazwa kategorii ustawień, zarówno jej kanoniczna, niezlokalizowanej nazwę używaną w wpisy rejestru i jego zasobów zlokalizowana nazwa.
Wskazuje, jeśli Visual Studio ustawienia obsługi implementacji klasy ProvideProfileAttribute obsługuje Opcje narzędzia stronę (więcej informacji na temat obsługi Opcje narzędzia stron, zobacz Opcje strony).
Aby uzyskać więcej informacji na temat tworzenia i stosowania wystąpienia ProvideProfileAttribute, patrz przykład poniżej i ProvideProfileAttribute.
Przykłady
W przykładzie poniżej dwóch wystąpień ProvideProfileAttribute są stosowane do wykonania VSPackage do definiowania dwóch klas jako zapewniające Visual Studio ustawienia wsparcie dla VSPackage, implementowanych przez klasę MyPackage.
Ponieważ jest pochodną wykonania stronę o nazwie "DesignerOptionsPage" DialogPage, może on obsługiwać Visual Studio ustawienia i Opcje narzędzia stron i jest zarejestrowana jako zapewniające zarówno:
Implementacja Opcje narzędzia stronę, która jest zarejestrowana przez wystąpienie ProvideOptionPageAttribute.Więcej informacji na temat obsługi Opcje narzędzia stron, zobacz ProvideOptionPageAttribute.
Implementacja obsługuje utrwalanie stanu Opcje narzędzia stron, które jest wskazane przez końcowego argument ProvideProfileAttribute konstruktora.
Klasę o nazwie "PersistedDesignerState" jest zarejestrowany jako zapewniające po prostu Visual Studio ustawienia wsparcia, zapisywanie i pobieranie pozostałe informacje o stanie VSPackage, implementując o nazwie "Mojpakiet" IProfileManager.
using Microsoft.VisualStudio.Shell;
namespace Example
{
[DefaultRegistryRoot("Software\\Microsoft\\VisualStudio\\8.0")]
[ProvideOptionPage(typeof(DesignerOptionsPage), "MyDesigner", "OptionPage", 1000, 1001, true)]
[ProvideProfileAttribute(typeof(DesignerOptionsPage), "MyDesigner", "OptionPage", 1002, 1003, true)]
[ProvideProfileAttribute(typeof(PersistCurrentDesign), "MyDesigner","CurrentDesign", 1004, 1005, false)]
[Guid("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")]
public class MyPackage : Package
{
//Implementation here
}
[Guid("YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY")]
internal class DesignerOptionsPage: DialogPage {
//Implementation here
}
[Guid("ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ")]
internal class PersistCurrentDesign: IProfileManager {
//Implementation here
}
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
Inne zasoby
Opcje i ustawienia użytkownika
Tworzenie strony opcje przy użyciu zarządzanych pakiet ramy klas