带泛型和不带泛型的方法之间的区别
本文关键字:泛型 区别 之间 方法 | 更新日期: 2023-09-27 18:36:46
有人可以帮助我了解以下方法之间的优缺点(如果有的话),这些方法执行将实体存储到 Azure 的相同功能(在我的情况下)?
public bool Save<T>(string tableName, T entity) where T : TableEntityBase, new()
{
throw new NotImplementedException();
}
与
public bool Save(string tableName, TableEntityBase entity)
{
throw new NotImplementedException();
}
使用泛型方法,只有在以下情况下才能传递参数 T
- 它是
TableEntityBase
和 - 具有公共无参数构造函数
现在您可以确定new T();
不会引发异常。
但在非通用方法的情况下
new TableEntityBase();
如果没有无参数构造函数,可能会引发异常