XObject.Annotations Method (Type)

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

Gets a collection of annotations of the specified type for this XObject.

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

Syntax

'Declaration
Public Function Annotations ( _
    type As Type _
) As IEnumerable(Of Object)
public IEnumerable<Object> Annotations(
    Type type
)

Parameters

Return Value

Type: System.Collections.Generic.IEnumerable<Object>
An IEnumerable<T> of Object that contains the annotations that match the specified type for this XObject.

Examples

The following class is used in the example below:

Dim output As New StringBuilder
Dim doc As XDocument = _
        <?xml version="1.0"?>
        <!--A comment in the document.-->
        <Root>
            <Child>content</Child>
        </Root>
Dim child As XElement = doc.Descendants("Child").First()
Dim documentOfChild As XDocument = child.Document
output.Append(documentOfChild.FirstNode)
output.Append(Environment.NewLine)

OutputTextBlock.Text = output.ToString()
StringBuilder output = new StringBuilder();
XDocument doc = new XDocument(
    new XComment("A comment in the document."),
    new XElement("Root",
        new XElement("Child", "content")
    )
);
XElement child = doc.Descendants("Child").First();
XDocument documentOfChild = child.Document;
output.Append(documentOfChild.FirstNode + Environment.NewLine);

OutputTextBlock.Text = output.ToString();

The following example adds some annotations to an XElement, then retrieves a collection of annotations by using this method.

Dim output As New StringBuilder
Dim root As XElement = <Root>content</Root>
root.AddAnnotation(New MyAnnotation("T1"))
root.AddAnnotation(New MyAnnotation("T2"))
root.AddAnnotation("abc")
root.AddAnnotation("def")

Dim annotationList As IEnumerable(Of Object)
annotationList = root.Annotations(GetType(MyAnnotation))
For Each ma As MyAnnotation In annotationList
    output.Append(ma.Tag)
    output.Append(Environment.NewLine)
Next

output.Append("----")
output.Append(Environment.NewLine)

Dim stringAnnotationList As IEnumerable(Of Object)
stringAnnotationList = root.Annotations(GetType(String))
For Each str As String In stringAnnotationList
    output.Append(str)
    output.Append(Environment.NewLine)
Next

OutputTextBlock.Text = output.ToString()
StringBuilder output = new StringBuilder();
XElement root = new XElement("Root", "content");
root.AddAnnotation(new MyAnnotation("T1"));
root.AddAnnotation(new MyAnnotation("T2"));
root.AddAnnotation("abc");
root.AddAnnotation("def");

IEnumerable<object> annotationList;
annotationList = root.Annotations(typeof(MyAnnotation));
foreach (object ma in annotationList)
    output.Append(((MyAnnotation)ma).Tag + Environment.NewLine);
output.Append("----" + Environment.NewLine);

IEnumerable<object> stringAnnotationList;
stringAnnotationList = root.Annotations(typeof(string));
foreach (object str in stringAnnotationList)
    output.Append((string)str + 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.