泛型接口
using System; using System.Collections.Generic; using System.Text; namespace 泛型 { class Program { static void Main(string[] args) { //实例化接口 IGenericl<System.ComponentModel.IListSource> factory = new Factory<System.Data.DataTable, System.ComponentModel.IListSource>(); //输出指定泛型的类型 Console.WriteLine(factory.CreateInstance().GetType().ToString()); Console.ReadLine(); } } public interface IGenericl<T> { T CreateInstance();//接口中调用CteateInstance方法 } //实现上面泛型接口的泛型类 //派生约束where T : TI(T要继承自TI) //构造函数约束where T : new() (T 可以实例化) public class Factory<T, TI> : IGenericl<TI> where T : TI,new() { public TI CreateInstance()//创建一个公共方法CreateInstance { return new T(); } } }