AddAnnotation Method

XObject.AddAnnotation Method (Object)


Adds an object to the annotation list of this XObject.

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

public void AddAnnotation(
	object annotation


Type: System.Object

An Object that contains the annotation to add.

Note that annotations are not part of the infoset; they are not persisted, or displayed by ToString. Also, if you import an XML Namespace into your VB project and call AddAnnotation with the SaveOptions.OmitDuplicateNamespaces enumeration value, then only one element will contain the XML Namespace attribute instead of every element. For more information, see Removing duplicate namespaces in XML Literals.

The following example adds an annotation to an XElement.

public class MyAnnotation {
    private string tag;
    public string Tag {get{return tag;} set{tag=value;}}
    public MyAnnotation(string tag) {
        this.tag = tag;

public class Program {
    public static void Main(string[] args) {   
        MyAnnotation ma = new MyAnnotation("T1");
        XElement root = new XElement("Root", "content");

        MyAnnotation ma2 = (MyAnnotation)root.Annotation<MyAnnotation>();

This example produces the following output:


Universal Windows Platform
Available since 4.5
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
© 2015 Microsoft