XObject.Annotation Method 
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
| Annotation(Type) | Gets the first annotation object of the specified type from this XObject. | 
| Annotation<T>() | Gets the first annotation object of the specified type from this XObject. | 
Annotation(Type)
- Source:
- XObject.cs
- Source:
- XObject.cs
- Source:
- XObject.cs
- Source:
- XObject.cs
Gets the first annotation object of the specified type from this XObject.
public:
 System::Object ^ Annotation(Type ^ type);public object Annotation(Type type);public object? Annotation(Type type);member this.Annotation : Type -> objPublic Function Annotation (type As Type) As ObjectParameters
- type
- Type
The type of the annotation to retrieve.
Returns
The Object that contains the first annotation object that matches the specified type, or null if no annotation is of the specified type.
Examples
The following example adds an annotation to an XElement. It then retrieves the annotation, specifying the type to retrieve.
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");
        root.AddAnnotation(ma);
        MyAnnotation ma2 = (MyAnnotation)root.Annotation(typeof(MyAnnotation));
        Console.WriteLine(ma2.Tag);
    }
}
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
Module Module1
    Sub Main()
        Dim ma As MyAnnotation = New MyAnnotation("T1")
        Dim root As XElement = <Root>content</Root>
        root.AddAnnotation(ma)
        Dim ma2 As MyAnnotation = DirectCast(root.Annotation(GetType(MyAnnotation)), MyAnnotation)
        Console.WriteLine(ma2.Tag)
    End Sub
End Module
This example produces the following output:
T1
See also
Applies to
Annotation<T>()
- Source:
- XObject.cs
- Source:
- XObject.cs
- Source:
- XObject.cs
- Source:
- XObject.cs
Gets the first annotation object of the specified type from this XObject.
public:
generic <typename T>
 where T : class T Annotation();public T Annotation<T>() where T : class;public T? Annotation<T>() where T : class;member this.Annotation : unit -> 'T (requires 'T : null)Public Function Annotation(Of T As Class) () As TType Parameters
- T
The type of the annotation to retrieve.
Returns
The first annotation object that matches the specified type, or null if no annotation is of the specified type.
Examples
The following example adds an annotation to an element, and then retrieves it through this method.
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");
        root.AddAnnotation(ma);
        MyAnnotation ma2 = root.Annotation<MyAnnotation>();
        Console.WriteLine(ma2.Tag);
    }
}
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
Module Module1
    Sub Main()
        Dim ma As MyAnnotation = New MyAnnotation("T1")
        Dim root As XElement = <Root>content</Root>
        root.AddAnnotation(ma)
        Dim ma2 As MyAnnotation = root.Annotation(Of MyAnnotation)()
        Console.WriteLine(ma2.Tag)
    End Sub
End Module
This example produces the following output:
T1