我正在尝试重构一些代码,这些代码之前是其他人编写的,因为我发现它相当不实用。以下是一个例子:
protected void SetParameterValue(SqlParameter parameter, string parameterValue, bool isNullable)
{
if ((null == parameterValue || parameterValue == NULL_STRING) && isNullable)
parameter.Value = DBNull.Value;
else parameter.Value = parameterValue;
}
protected void SetParameterValue(SqlParameter parameter, int parameterValue, bool isNullable)
{
if (parameterValue == NULL_INT && isNullable)
parameter.Value = DBNull.Value;
else parameter.Value = parameterValue;
}
protected void SetParameterValue( SqlParameter parameter, Int64 parameterValue, bool isNullable)
{
if (parameterValue == NULL_LONG && isNullable)
parameter.Value = DBNull.Value;
else parameter.Value = parameterValue;
}
像这样的还有很多。现在我需要创建一个接受新类型的方法(该类型尚未拥有方法),并决定可能可以进行一些清理,使其更好。
我的想法是创建类似于以下内容:
protected void SetParameterValue<T>(SqlParameter parameter, T parameterValue, bool isNullable)
然而,我不知道最佳的方法是什么,我可以在这个泛型方法中封装什么,还需要在单独的方法中做些什么。这样做值得吗?或者“许多方法”方法可以行吗?从泛型方法中我会得到什么好处?谢谢!
int?
、long?
作为数据类型。 - Heinzi