XAttribute.Value Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.