标签:style blog io ar color os sp for on
泛型接口
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication14 { public interface IGenericTnterface<T>//创建一个泛型接口 { T CreateInstance();//接口中调用CreateInstance方法 } //实现上面泛型接口的泛型类 //派生约束where T:TI(T要继承自TI) //构造函数约束where T:new()(T可实例化) public class Factory<T, TI> : IGenericTnterface<TI> where T : TI, new() { public TI CreateInstance()//创建一个公共方法CreateInstan { return new T(); } } class Program { static void Main(string[] args) { //实例化接口 IGenericTnterface<System.ComponentModel.IListSource> factory = new Factory<System.Data.DataTable, System.ComponentModel.IListSource>(); Console.WriteLine(factory.CreateInstance().GetType().ToString());//输出指定泛型的类型 Console.ReadLine(); } } }
泛型方法
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication15 { public class Finder//建立一个公共类Finder { public static int Find<T>(T[] items, T item)//创建泛型方法 { for (int i = 0; i < items.Length; i++)//调用for循环 { if(items[i].Equals(item))//调用Equals方法比较两个数 { return i;//返回相等数在数组中的位置 } } return -1;//如果不存在指定的数,则返回-1 } } class Program { static void Main(string[] args) { int i=Finder .Find <int >(new int []{1,2,3,4,5,6,8,9},6);//调用泛型方法,并定义数组指定数字 Console.WriteLine("6在数组中的位置:"+i.ToString());//输出中数字在数组中的位置 Console.ReadLine(); } } }
标签:style blog io ar color os sp for on
原文地址:http://www.cnblogs.com/heisaijuzhen/p/4111988.html