XObject.Annotations 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
Annotations(Type) |
Gets a collection of annotations of the specified type for this XObject. |
Annotations<T>() |
Gets a collection of annotations of the specified type for this XObject. |
Annotations(Type)
- Source:
- XObject.cs
- Source:
- XObject.cs
- Source:
- XObject.cs
Gets a collection of annotations of the specified type for this 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)
Parameters
- type
- Type
The type of the annotations to retrieve.
Returns
An IEnumerable<T> of Object that contains the annotations that match the specified type for this XObject.
Examples
The following example adds some annotations to an XElement, then retrieves a collection of annotations by using this method.
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
This example produces the following output:
T1
T2
----
abc
def
See also
Applies to
Annotations<T>()
- Source:
- XObject.cs
- Source:
- XObject.cs
- Source:
- XObject.cs
Gets a collection of annotations of the specified type for this 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)
Type Parameters
- T
The type of the annotations to retrieve.
Returns
An IEnumerable<T> that contains the annotations for this XObject.
Examples
The following example uses this method to retrieve annotations on an element.
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
This example produces the following output:
T1
T2
----
abc
def
See also
Applies to
.NET