Edit

Share via


XObject.Annotation Method

Definition

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 -> obj
Public Function Annotation (type As Type) As Object

Parameters

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 T

Type Parameters

T

The type of the annotation to retrieve.

Returns

T

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

See also

Applies to