C# 关于泛型
泛型类需要返回null时,可使用default(T)
泛型的常见限制
/// <summary> /// 示例中class,struct 限制必须在所有限制之前,new()必须在所有限制之后,T3必须显示的实现T1 /// IAtt为某个自建接口,写某个类也一样 /// </summary> /// <typeparam name="T1"></typeparam> /// <typeparam name="T2"></typeparam> /// <typeparam name="T3"></typeparam> /// <param name="t2"></param> public T1 Genericity<T1, T2, T3>(T2 t2) where T1 : class, new() where T2 : IAtt, new() where T3 : struct, T1 { try { //某些操作 return new T1(); } catch (Exception) { //异常时 return default(T1);//返回T1类型的默认值,比如int会返回0,引用类型会返回null } }
向winform中传递泛型:
修改窗体代码文件*.cs
public partial class FormName<T> : Form
partial说明此类还有一半在另外的cs文件中,正是系统替你写好的*.designer.cs
同时修改*.Designer.cs
partial class FormName<T>
此时泛型T可以像声明类一样传入泛型