XObject.Annotations メソッド

定義

オーバーロード

Annotations(Type)

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

Annotations<T>()

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

Annotations(Type)

この 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<Object>

この 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 の指定した型の注釈のコレクションを取得します。

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>

この 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  

こちらもご覧ください

適用対象