泛型接口
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(); } } }
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 别做抢活的导演:代码中的抽象层次原则
· 从 Redis 客户端超时到 .NET 线程池挑战
· C23和C++26的#embed嵌入资源指南
· 「EF Core」框架是如何识别实体类的属性和主键的
· 独立开发,这条路可行吗?
· 他没买 iPad,而是花了半年时间,为所有“穷学生”写了个笔记神器
· Visual Studio 现已支持新的、更简洁的解决方案文件(slnx)格式
· 从 Redis 客户端超时到 .NET 线程池挑战:饥饿、窃取与阻塞的全景解析
· 2025年中总结:我想我克服公众演讲的恐惧了,一个社恐分子突破自我的故事
· 3.1k star!推荐一款开源基于AI实现的浏览器自动化插件工具 !