关于泛型类的有关问题

关于泛型类的问题。
定义了一个泛型类

    class Class1<T>
    {
        private string name;
        private int age;
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        public int Age
        {
            get { return age; }
            set { age = value; }
        }
    }


    
Class1<string> cs = new Class1<string>();
        实例化以后,怎么没有索引呢? 
        不能以这个方式访问属性 cs[0].Name=""; 
           

------解决方案--------------------
namespace ConsoleApplication13
{
    class Program
    {
      
        static void Main(string[] args)
        {
            new System.Threading.Thread(new System.Threading.ThreadStart(
                 () =>
                 {

                 }
                )).Start();
            C c = new C();
            Console.Write(c["test2"].Name);  
        }
    }

    class A
    {
        private string name;

        public A(string names)
        {
            name = names;
        }
        public string Name
        {
            get{return name;}
        }
    }

    class C
    {
        public Dictionary<string, A> test = new Dictionary<string, A>();

        public C()
        {
            test.Add("test",new A("testValues"));
            test.Add("test2", new A("test2Values"));
        }

        public A this[string key]
        {
            get
            {
                A value = test.Where(q => q.Key == key).Select(q => q.Value).FirstOrDefault();  //get all keys

                return value;
            }
        }
    }