XObject.Annotations<(Of <(T>)>) Method

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

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

Public Function Annotations(Of T As Class) As IEnumerable(Of T)
public IEnumerable<T> Annotations<T>()
where T : class

Type Parameters

  • T
    The type of the annotations to retrieve.

Return Value

Type: System.Collections.Generic..::.IEnumerable<(Of <(T>)>)
An IEnumerable<(Of <(T>)>) that contains the annotations for this XObject.

Examples

The following class is used in the example below:

Public Class MyAnnotation
    Private _tag As String

    Property Tag() As String
        Get
            Return Me._tag
        End Get
        Set(ByVal Value As String)
            Me._tag = Value
        End Set
    End Property

    Public Sub New(ByVal tag As String)
        Me._tag = tag
    End Sub
End Class
public class MyAnnotation
{
    private string tag;
    public string Tag { get { return tag; } set { tag = value; } }
    public MyAnnotation(string tag)
    {
        this.tag = tag;
    }
}

The following example uses this method to retrieve annotations on an element.

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 MyAnnotation)
annotationList = root.Annotations(Of 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 String)
stringAnnotationList = root.Annotations(Of 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<MyAnnotation> annotationList;
annotationList = root.Annotations<MyAnnotation>();
foreach (MyAnnotation ma in annotationList)
    output.Append(ma.Tag + Environment.NewLine);
output.Append("----" + Environment.NewLine);

IEnumerable<string> stringAnnotationList;
stringAnnotationList = root.Annotations<string>();
foreach (string str in stringAnnotationList)
    output.Append(str  + Environment.NewLine);

OutputTextBlock.Text = output.ToString();

Version Information

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Platforms

Windows Phone

See Also

Reference

XObject Class

Annotations Overload

System.Xml.Linq Namespace