C#泛型的引入、声明和调用(进阶型)

作者(出处):Lary发布时间:2015年2月14日 12:04:34查阅量:107

本项目是对基础型的一次升级,如果没有理清基础型的代码,请先阅读《C#泛型的引入、声明和调用(基础型)》一文。

首先建立控制台应用程序项目,在项目中新建一个Common类,在Common类定义object类型的方法,具体代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyGeneric
{
    public class Common
    {
        /// <summary>
        /// object是所有类型的父类。通过继承,子类拥有父类的一切行为和属性,任何父类出现的地方,都可以用子类来代替。
        /// 这种方法有性能损失(有装箱和拆箱的操作)。
        /// </summary>
        /// <param name="oParameter"></param>
        public static void ShowObject(object oParameter)
        {
            Console.WriteLine("Common.ShowObject():Parameter={0},ParameterType={1}", oParameter, oParameter.GetType());
        }
    }
}

然后再新建一个People类,在People类中声明两个属性和一个Hello()方法,具体代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyGeneric
{
    /// <summary>
    /// 定义人类
    /// </summary>
    public class People
    {
        //ID号
        private int id;
        public int Id
        {
            get { return id; }
            set { id = value; }
        }
        //姓名
        private string name;
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        //问好的方法
        public void Hello()
        {
            Console.WriteLine("早上好");
        }
    }
}

在主函数中调用object类型方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyGeneric
{
    /// <summary>
    /// 泛型的引入、声明和调用
    /// </summary>
    class Program
    {
        static void Main(string[] args)
        {
            //初始化变量
            int iParamere=1617818397;
            DateTime dtParamere = DateTime.Now;
            //实例化一个People对象
            People people = new People()
            {
                Id = 1617818397,
                Name = "Lary"
            };

            Console.WriteLine("***************使用Object类型代替三个普通方法:***************");
            //调用Object类型方法
            Common.ShowObject(iParamere);
            Common.ShowObject(dtParamere);
            Common.ShowObject(people);

            Console.Read();
        }
    }
}
百宝箱网络工作室  版权所有  
站长QQ:1617818397  站长E-mail:1617818397@qq.com
Powered by www.baibaox.com  Copyright © 2011-2018
点击这里给我发消息