CodeAttribute2.Value Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit les données de l'attribut de code.
public:
property System::String ^ Value { System::String ^ get(); void set(System::String ^ value); };
public:
property Platform::String ^ Value { Platform::String ^ get(); void set(Platform::String ^ value); };
[System.Runtime.InteropServices.DispId(32)]
public string Value { [System.Runtime.InteropServices.DispId(32)] get; [System.Runtime.InteropServices.DispId(32)] set; }
[<System.Runtime.InteropServices.DispId(32)>]
[<get: System.Runtime.InteropServices.DispId(32)>]
[<set: System.Runtime.InteropServices.DispId(32)>]
member this.Value : string with get, set
Public Property Value As String
Valeur de propriété
Valeur de chaîne qui représente les données pour l'attribut de code.
Implémente
- Attributs
Exemples
L’exemple suivant crée un nouvel espace de noms et un nouvel attribut dans la classe actuelle et répertorie certaines des propriétés de l’attribut.
Sub ValueExample(ByVal dte As DTE2)
' Before running this example, open a code document from a project
' and place the insertion point inside a class definition.
Try
' Retrieve the CodeClass at the insertion point.
Dim sel As TextSelection = _
CType(dte.ActiveDocument.Selection, TextSelection)
Dim cls As CodeClass = CType(sel.ActivePoint.CodeElement( _
vsCMElement.vsCMElementClass), CodeClass)
' Enumerate the CodeClass's attributes.
Dim attrs As String = ""
Dim attr As CodeAttribute
For Each attr In cls.Attributes
attrs &= attr.Name & "(" & attr.Value & ")" & vbCrLf
Next
MsgBox(cls.Name & " has the following attributes:" & _
vbCrLf & vbCrLf & attrs)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
public void ValueExample(DTE2 dte)
{
// Before running this example, open a code document from a project
// and place the insertion point inside a class definition.
try
{
// Retrieve the CodeClass at the insertion point.
TextSelection sel =
(TextSelection)dte.ActiveDocument.Selection;
CodeClass cls = (CodeClass)sel.ActivePoint.get_CodeElement(
vsCMElement.vsCMElementClass);
// Enumerate the CodeClass's attributes.
string attrs = "";
foreach (CodeAttribute attr in cls.Attributes)
{
attrs += attr.Name + "(" + attr.Value + ")" +
Environment.NewLine;
}
MessageBox.Show(cls.Name + " has the following attributes:" +
Environment.NewLine + Environment.NewLine + attrs);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Remarques
Si un attribut se trouve dans le formulaire name(someval, 2) , la valeur est someval, 2 .
Notes
Une fois assignés, les valeurs d’argument d’attribut de code ne sont pas conservées en mémoire par Visual Studio , et peuvent donc être valides ou non lorsqu’une mise à jour ultérieure de l’argument d’attribut de code se produit. Autrement dit, un accès aux arguments ultérieurs peut retourner E_FAIL ou une valeur totalement différente. (En revanche, tout ce qui affecte les enfants de l’élément n’a pas ce problème.)
En raison de ce comportement non déterministe, vous devez récupérer la valeur de l’argument avant de le modifier. Par exemple, si vous définissez un argument d’attribut de code dans votre code, tel que myAttrArg.Value = """a first value""" , vous devez le référencer explicitement avant de le mettre à jour, tel que myAttrArg = myAttr.Arguments.Item("first value") , puis affecter la nouvelle valeur, myAttrArg.Value = """a second value""" . Cela permet de s’assurer que l’argument correct est modifié.
En outre, les valeurs des éléments de modèle de code, tels que les classes, les structs, les fonctions, les attributs, les délégués, etc., peuvent être non déterministes après avoir effectué certains genres de modifications, ce qui signifie que leurs valeurs ne peuvent pas être utilisées pour toujours rester identiques. Pour plus d’informations, consultez la section les valeurs d’élément de modèle de code peuvent changer dans la découverte de code à l’aide du modèle de code (Visual Basic).