日期:2014-05-18  浏览次数:20791 次

这样的类是如何建立的,高手们帮忙看看??
大家都知道
SqlDataReader dr=cmd.ExecuteReader()是可以通过 dr["field"]这样访问的。。

我要问的问题是 在C# 如果把类声明成这样,,然后用类实例来和上面一来访问里面的成员

打个比方,我有一个 CTemplate

CTemplate ct=new CTemplate()
然后我要ct["fields"] 这样访问 ,该如何做?

------解决方案--------------------
C# code
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            MyCls myCls = new MyCls();
            Console.WriteLine(myCls["c"]);
            Console.ReadKey();
        }
    }

    class MyCls
    {
        public MyCls()
        { }

        public string this[string itemName]
        {
            get 
            {
                switch (itemName)
                {
                    case "a": return "Hi, A.";
                    case "b": return "Hi, B.";
                    default: throw new Exception("unknown item name.");
                }
            }
        }
    }
}