有和没有泛型的方法之间的差异

时间:2013-10-25 03:43:27

标签: c#

有人可以帮助我理解以下方法之间的优缺点(如果有的话),它们将实体存储到azure(在我的情况下)吗?

public bool Save<T>(string tableName, T entity) where T : TableEntityBase, new()
{
    throw new NotImplementedException();
}

VS

public bool Save(string tableName, TableEntityBase entity)
{
    throw new NotImplementedException();
}

1 个答案:

答案 0 :(得分:0)

使用泛型方法,只有在

时才能传递参数T.
  • 它是TableEntityBase
  • 的子类
  • 有一个公共参数构造函数

现在您可以确定new T();不会抛出异常..


但是在非通用方法的情况下

new TableEntityBase();
如果没有无参数构造函数

可能抛出异常