XObject.Annotations メソッド

定義

オーバーロード

名前 説明
Annotations(Type)

この XObjectの指定した型の注釈のコレクションを取得します。

Annotations<T>()

この XObjectの指定した型の注釈のコレクションを取得します。

Annotations(Type)

ソース:
XObject.cs
ソース:
XObject.cs
ソース:
XObject.cs
ソース:
XObject.cs
ソース:
XObject.cs

この XObjectの指定した型の注釈のコレクションを取得します。

public:
 System::Collections::Generic::IEnumerable<System::Object ^> ^ Annotations(Type ^ type);
public System.Collections.Generic.IEnumerable<object> Annotations(Type type);
member this.Annotations : Type -> seq<obj>
Public Function Annotations (type As Type) As IEnumerable(Of Object)

パラメーター

type
Type

取得する注釈の型。

返品

このIEnumerable<T>の指定した型と一致する注釈を含むObjectXObject

次の例では、 XElementにいくつかの注釈を追加し、このメソッドを使用して注釈のコレクションを取得します。

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

class Program
{
    static void Main(string[] args)
    {
        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)
            Console.WriteLine(((MyAnnotation)ma).Tag);
        Console.WriteLine("----");

        IEnumerable<object> stringAnnotationList;
        stringAnnotationList = root.Annotations(typeof(string));
        foreach (object str in stringAnnotationList)
            Console.WriteLine((string)str);
    }
}
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 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
            Console.WriteLine(ma.Tag)
        Next

        Console.WriteLine("----")

        Dim stringAnnotationList As IEnumerable(Of Object)
        stringAnnotationList = root.Annotations(GetType(String))
        For Each str As String In stringAnnotationList
            Console.WriteLine(str)
        Next
    End Sub
End Module

この例を実行すると、次の出力が生成されます。

T1
T2
----
abc
def

こちらもご覧ください

適用対象

Annotations<T>()

ソース:
XObject.cs
ソース:
XObject.cs
ソース:
XObject.cs
ソース:
XObject.cs
ソース:
XObject.cs

この XObjectの指定した型の注釈のコレクションを取得します。

public:
generic <typename T>
 where T : class System::Collections::Generic::IEnumerable<T> ^ Annotations();
public System.Collections.Generic.IEnumerable<T> Annotations<T>() where T : class;
member this.Annotations : unit -> seq<'T (requires 'T : null)> (requires 'T : null)
Public Function Annotations(Of T As Class) () As IEnumerable(Of T)
Public Iterator Function Annotations(Of T As Class) () As IEnumerable(Of T)

型パラメーター

T

取得する注釈の型。

返品

このIEnumerable<T>の注釈を含むXObject

次の例では、このメソッドを使用して要素の注釈を取得します。

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

class Program {
    static void Main(string[] args) {
        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)
            Console.WriteLine(ma.Tag);
        Console.WriteLine("----");

        IEnumerable<string> stringAnnotationList;
        stringAnnotationList = root.Annotations<string>();
        foreach (string str in stringAnnotationList)
            Console.WriteLine(str);
    }
}
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 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
            Console.WriteLine(ma.Tag)
        Next
        Console.WriteLine("----")

        Dim stringAnnotationList As IEnumerable(Of String)
        stringAnnotationList = root.Annotations(Of String)()
        For Each str As String In stringAnnotationList
            Console.WriteLine(str)
        Next
    End Sub
End Module

この例を実行すると、次の出力が生成されます。

T1
T2
----
abc
def

こちらもご覧ください

適用対象