public virtual void Update<T>(T entity, IDbTransaction transaction = null, int? commandTimeout = null) where T : class { if (entity == null) { throw new ArgumentNullException("entity", "Update in DB null entity"); } WriteConnection.Update<T>(entity, transaction: transaction, commandTimeout: commandTimeout); }
这是参数类型约束,指定T必须是Class类型。
.NET支持的类型参数约束有以下五种:
where T : struct | T必须是一个结构类型
where T : class | T必须是一个Class类型
where T : new() | T必须要有一个无参构造函数
where T : NameOfBaseClass | T必须继承名为NameOfBaseClass的类
where T : NameOfInterface | T必须实现名为NameOfInterface的接口