XML LINQ C#

using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Xml.Linq;
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 annotationList;
        annotationList = root.Annotations();
        foreach (MyAnnotation ma in annotationList)
            Console.WriteLine(ma.Tag);
        IEnumerable stringAnnotationList;
        stringAnnotationList = root.Annotations();
        foreach (string str in stringAnnotationList)
            Console.WriteLine(str);
    }
}