XAttribute Explicit Conversion (XAttribute to Nullable<Boolean>)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Cast the value of this XAttribute to a Nullable<T> of Boolean.

This API is not CLS-compliant. 

Namespace:  System.Xml.Linq
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)

Syntax

'Declaration
Public Shared Narrowing Operator CType ( _
    attribute As XAttribute _
) As Nullable(Of Boolean)
public static explicit operator Nullable<bool> (
    XAttribute attribute
)

Parameters

Return Value

Type: System.Nullable<Boolean>
A Nullable<T> of Boolean that contains the content of this XAttribute.

Exceptions

Exception Condition
FormatException

The attribute does not contain a valid Boolean value.

Remarks

When converting to Boolean from an attribute or element, allowed values are "0", "1", and any string that produces "true" or "false" after trimming and conversion to lower case.

Examples

The following example creates an attribute with Boolean content. It then retrieves the value by casting to Nullable<T> of Boolean.

Dim output As New StringBuilder
Dim root As XElement = <Root BoolValue1="true" BoolValue2="false"/>
Dim bool1 As Nullable(Of Boolean) = CType(root.Attribute("BoolValue1"), Nullable(Of Boolean))
Dim bool2 As Nullable(Of Boolean) = CType(root.Attribute("BoolValue2"), Nullable(Of Boolean))
output.Append(String.Format("Nullable boolean: BoolValue1={0}", bool1))
output.Append(Environment.NewLine)
output.Append(String.Format("Nullable boolean: BoolValue2={0}", bool2))
output.Append(Environment.NewLine)

OutputTextBlock.Text = output.ToString()
StringBuilder output = new StringBuilder();
XElement root = new XElement("Root",
    new XAttribute("BoolValue1", true),
    new XAttribute("BoolValue2", false)
);
bool? bool1 = (bool?)root.Attribute("BoolValue1");
bool? bool2 = (bool?)root.Attribute("BoolValue2");
output.Append("Nullable boolean: BoolValue1=" + bool1);
output.Append(Environment.NewLine);
output.Append("Nullable boolean: BoolValue2=" + bool2);
output.Append(Environment.NewLine);

OutputTextBlock.Text = output.ToString();

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.