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
- type
Type: System.Type
The Type of the annotations to retrieve.
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.
See Also