Costruttore ProvideProfileAttribute
inizializza una nuova istanza di ProvideProfileAttribute.
Spazio dei nomi: Microsoft.VisualStudio.Shell
Assembly: Microsoft.VisualStudio.Shell.11.0 (in Microsoft.VisualStudio.Shell.11.0.dll)
Sintassi
'Dichiarazione
Public Sub New ( _
objectType As Type, _
categoryName As String, _
objectName As String, _
categoryResourceID As Short, _
objectNameResourceID As Short, _
isToolsOptionPage As Boolean _
)
public ProvideProfileAttribute(
Type objectType,
string categoryName,
string objectName,
short categoryResourceID,
short objectNameResourceID,
bool isToolsOptionPage
)
Parametri
- objectType
Tipo: System.Type
Type della classe che implementa il supporto delle impostazioni di Visual Studio .
- categoryName
Tipo: System.String
Il nome canonico e non localizzata di una categoria di impostazioni di Visual Studio .
- objectName
Tipo: System.String
Il nome canonico e non localizzata utilizzato per identificare l'oggetto che implementa una categoria di impostazioni di Visual Studio .
- categoryResourceID
Tipo: System.Int16
ID di risorsa localizzato del nome di Visual Studio di una categoria di impostazioni.
- objectNameResourceID
Tipo: System.Int16
ID di risorsa localizzato del nome utilizzato per identificare l'oggetto che implementa una categoria di impostazioni di Visual Studio .
- isToolsOptionPage
Tipo: System.Boolean
Questo argomento non viene implementato.
Note
Il costruttore di ProvideProfileAttribute utilizza il GUID ottenuto da objectType per identificare in modo univoco una categoria di impostazioni di Visual Studio del punto di impostazioni personalizzate.
Se isToolsOptionPage è true,ProvideOptionPageAttribute inoltre necessario applicare al package VS.
I punti di impostazioni personalizzati vengono creati all'interno di una voce del Registro di sistema che contiene il nome canonico _ <ObjectName> .di <CategoryName> del form
La chiave del Registro di sistema è presente in \Software\Microsoft\VisualStudio HKLM \ <versione> \UserSettings in cui <versione> è la versione di Visual Studio, ad esempio 8,0.
La voce del Registro di sistema sotto _ <ObjectName> di <CategoryName> è nel formato:
_ <ObjectName> di <CategoryName>
_ <ObjectName> \ @=# <ObjectNameResourceID> di <CategoryName>
_ <ObjectName> \Package = <pacchetto> di <CategoryName>
_ <ObjectName> \Category = <ObjectTypeGuid> di <CategoryName>
CategoryName_ObjectName \AlternateParent =CategoryName>
[!NOTA]
L'ultima voce precedente (_ <ObjectName> \AlternateParent di <CategoryName> ) viene creata solo se isToolsOptionPage è true.
Esempi
Nell'esempio seguente viene mostrata la registrazione di due classi che forniscono le impostazioni di Visual Studio , delle quali (DesignerOptionsPage) fornisce il supporto della pagina di strumentiopzioni .Il pacchetto e la categoria GUID vengono ottenuti dall'attributo mediante reflection.
Il passaggio di impostazioni personalizzato per la pagina denominata “DesignerOptionsPage„ è:
MyDesigner_OptionPage
MyDesigner_OptionPage \ @=#1003
MyDesigner_OptionPage„}
MyDesigner_OptionPage \Category={"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY„}
MyDesigner_OptionPage \AlternateParent =MyDesigner
[!NOTA]
L'ultima voce precedente, (UserSettings \MyDesigner_OptionPage\AlternateParent), è presente quanto isToolsOptionPage è true.
Il passaggio di impostazioni personalizzato per la pagina denominata “PersistCurrentDesign„ è:
MyDesigner_CurrentDesign
MyDesigner_CurrentDesign\ @=#1005>
MyDesigner_CurrentDesign„}
MyDesigner_CurrentDesign\Category={"ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ„}>
[!NOTA]
Non esiste alcuna (MyDesigner_ObjectName>\AlternateParent) perché isToolsOptionPage è false.
Il codice di esempio riportato di seguito viene illustrato come DesignerOptionsPage viene registrato utilizzando ProvideProfileAttribute.
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 PersisteDesignerState: IProfileManager {
//Implementation here
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.
Vedere anche
Riferimenti
ProvideProfileAttribute Classe
Spazio dei nomi Microsoft.VisualStudio.Shell