码迷,mamicode.com
首页 > Windows程序 > 详细

泛型-----------C#

时间:2015-11-01 18:07:37      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:

 class Program
    {
        static void Main(string[] args)
        {
            nihao<Int32> i = new nihao<Int32>();
            //使用这个类中的add方法
            i.Add(1);

            i.WriteStill();
            Console.Write(i.Add_3<int>(3));
            Console.ReadKey();
        }
    }

    //模仿List的泛型类型
    //where T : struct | T必须是一个结构类型
    //where T : class T必须是一个类(class)类型
    //where T : new() | T必须要有一个无参构造函数
    //where T : NameOfBaseClass | T必须继承名为NameOfBaseClass的类
    //where T : NameOfInterface | T必须实现名为NameOfInterface的接口
    //where T : Stream | T必须实现名为NameOfInterface的接口
    public class nihao<T> where T : struct
    {  //T只是使类型看起来直观,其实并没有什么实际作用


        //这是一个存储变量的字段
        private List<T> Current;
        public nihao()
        {
            Current = new List<T>();
        }

        public void WriteStill()
        {
            foreach (T nini in Current)
            {
                Console.Write(nini);
            }
        }

        public bool Add(T MYT)
        {
            Current.Add(MYT);
            return true;
        }

        //泛型方法,TS和T的效果一样。。。只是为了做参数的类型限定,,这样可以增加方法传参的灵活性
        public string Add_3<TS>(TS I) where TS : struct
        { 
            TS t = I;
            return t.ToString();
        }

    }

 

泛型-----------C#

标签:

原文地址:http://www.cnblogs.com/xiaoleye/p/4928243.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!