XObject.Annotations 方法 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
| Annotations(Type) | 获取此 XObject 的指定类型的批注集合。 | 
| Annotations<T>() | 获取此 XObject 的指定类型的批注集合。 | 
Annotations(Type)
- Source:
- XObject.cs
- Source:
- XObject.cs
- Source:
- 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> 的 Object,其中包含与此 XObject 的指定类型匹配的批注。
示例
以下示例将一些批注添加到 , 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>()
- Source:
- XObject.cs
- Source:
- XObject.cs
- Source:
- 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