XAttribute.Value Eigenschap

Definitie

Hiermee haalt u de waarde van dit kenmerk op of stelt u deze in.

public:
 property System::String ^ Value { System::String ^ get(); void set(System::String ^ value); };
public string Value { get; set; }
member this.Value : string with get, set
Public Property Value As String

Waarde van eigenschap

Een String met de waarde van dit kenmerk.

Uitzonderingen

Bij het instellen is valuehet null .

Voorbeelden

In het volgende voorbeeld wordt een element met een kenmerk gemaakt. Vervolgens wordt de waarde van het kenmerk opgehaald en vervolgens ingesteld.

Houd er rekening mee dat in het Visual Basic voorbeeld de eigenschap XML-kenmerk wordt gebruikt.

XElement root = new XElement("Root",
    new XAttribute("Att", "content")
);
XAttribute att = root.FirstAttribute;
Console.WriteLine(att.Value);
att.Value = "new text";
Console.WriteLine(att.Value);
Dim root As XElement = <Root Att="content"/>
Console.WriteLine(root.@Att)
root.@Att = "new text"
Console.WriteLine(root.@Att)

In dit voorbeeld wordt de volgende uitvoer gegenereerd:

content
new text

In het volgende voorbeeld ziet u het voordeel van het gebruik van de expliciete conversieoperators om de waarde op te halen van een kenmerk dat mogelijk niet bestaat:

XElement root = new XElement("Root",
    new XAttribute("Att1", "attribute 1 content"),
    new XAttribute("Att2", "2")
);

// The following assignments demonstrate why it is easier to use
// casting when the attribute might or might not exist.

string c1 = (string)root.Attribute("Att1");
Console.WriteLine("c1:{0}", c1 == null ? "attribute does not exist" : c1);

int? c2 = (int?)root.Attribute("Att2");
Console.WriteLine("c2:{0}", c2 == null ? "attribute does not exist" : c2.ToString());

string c3 = (string)root.Attribute("Att3");
Console.WriteLine("c3:{0}", c3 == null ? "attribute does not exist" : c3);

int? c4 = (int?)root.Attribute("Att4");
Console.WriteLine("c4:{0}", c4 == null ? "attribute does not exist" : c4.ToString());

Console.WriteLine();

// The following assignments show the necessary code when using
// the value property when the attribute might or might not exist.

XAttribute att1 = root.Attribute("Att1");
string v1;
if (att1 == null)
    v1 = null;
else
    v1 = att1.Value;
Console.WriteLine("v1:{0}", v1 == null ? "attribute does not exist" : v1);

XAttribute att2 = root.Attribute("Att2");
int? v2;
if (att2 == null)
    v2 = null;
else
    v2 = Int32.Parse(att2.Value);
Console.WriteLine("v2:{0}", v2 == null ? "attribute does not exist" : v2.ToString());

XAttribute att3 = root.Attribute("Att3");
string v3;
if (att3 == null)
    v3 = null;
else
    v3 = att3.Value;
Console.WriteLine("v3:{0}", v3 == null ? "attribute does not exist" : v3);

XAttribute att4 = root.Attribute("Att4");
int? v4;
if (att4 == null)
    v4 = null;
else
    v4 = Int32.Parse(att4.Value);
Console.WriteLine("v4:{0}", v4 == null ? "attribute does not exist" : v4.ToString());
Dim root As XElement = <Root Att1="attribute 1 content" Att2="2"/>

' The following assignments demonstrate why it is easier to use
' casting when the attribute might or might not exist.

Dim c1 As String = CStr(root.Attribute("Att1"))
Console.WriteLine("c1:{0}", IIf(c1 Is Nothing, "attribute does not exist", c1))

Dim c2 As Nullable(Of Integer) = CType(root.Attribute("Att2"), Nullable(Of Integer))
Console.WriteLine("c2:{0}", IIf(c2.HasValue, c2, "attribute does not exist"))

Dim c3 As String = CStr(root.Attribute("Att3"))
Console.WriteLine("c3:{0}", IIf(c3 Is Nothing, "attribute does not exist", c3))

Dim c4 As Nullable(Of Integer) = CType(root.Attribute("Att4"), Nullable(Of Integer))
Console.WriteLine("c4:{0}", IIf(c4.HasValue, c4, "attribute does not exist"))

Console.WriteLine()

' The following assignments show the necessary code when using
' the value property when the attribute might or might not exist.

Dim att1 As XAttribute = root.Attribute("Att1")
Dim v1 As String
If att1 Is Nothing Then
    v1 = Nothing
Else
    v1 = att1.Value
End If

Console.WriteLine("v1:{0}", IIf(v1 Is Nothing, "attribute does not exist", v1))

Dim att2 As XAttribute = root.Attribute("Att2")
Dim v2 As Nullable(Of Integer)
If att2 Is Nothing Then
    v2 = Nothing
Else
    v2 = Int32.Parse(att2.Value)
End If

Console.WriteLine("v2:{0}", IIf(v2.HasValue, v2, "attribute does not exist"))

Dim att3 As XAttribute = root.Attribute("Att3")
Dim v3 As String
If att3 Is Nothing Then
    v3 = Nothing
Else
    v3 = att3.Value
End If

Console.WriteLine("v3:{0}", IIf(v3 Is Nothing, "attribute does not exist", v3))

Dim att4 As XAttribute = root.Attribute("Att4")
Dim v4 As Nullable(Of Integer)
If att4 Is Nothing Then
    v4 = Nothing
Else
    v4 = Int32.Parse(att4.Value)
End If

Console.WriteLine("v4:{0}", IIf(v4.HasValue, v4, "attribute does not exist"))

In dit voorbeeld wordt de volgende uitvoer gegenereerd:

c1:attribute 1 content
c2:2
c3:attribute does not exist
c4:attribute does not exist

v1:attribute 1 content
v2:2
v3:attribute does not exist
v4:attribute does not exist

Opmerkingen

U kunt deze eigenschap gebruiken om de waarde van een kenmerk op te halen of in te stellen.

Als u deze eigenschap instelt, worden de Changed gebeurtenissen gegenereerd Changing .

Als u de waarde krijgt en het kenmerk mogelijk niet bestaat, is het handiger om de expliciete conversieoperators te gebruiken en het kenmerk toe te wijzen aan een null-type, zoals string of Nullable<T> van Int32. Als het kenmerk niet bestaat, wordt het type null ingesteld op null. Voordat u deze eigenschap gebruikt, moet u ervoor zorgen dat de Attribute methode niet wordt geretourneerd null.

Van toepassing op

Zie ook