当类的逻辑与类型无关时(如容器、工具类),用泛型类封装,适配多种数据类型的存储与处理。// 泛型类:简易容器类(适配任意类型存储)public class DataContainer{private T _data;// 存数据public void SetData(T data) => _data = data;// 取数据public T GetData() => _data;}// 调用泛型类var intContainer = new DataContainer();intContainer.SetData(100);var stringContainer = new DataContainer();stringContainer.SetData("泛型实战");
✅ 用法3:泛型约束(精准控制类型范围)
默认泛型可适配所有类型,通过约束限制传入类型(如仅允许引用类型、指定接口/基类),避免非法类型传入,提升代码安全性。// 泛型约束:仅允许实现IEntity接口的类型public static T GetEntityById(int id) where T : IEntity, new(){// new()约束:允许创建T类型实例var entity = new T();entity.Id = id;return entity;}// 接口定义public interface IEntity { int Id { get; set; } }