gpt4 book ai didi

c# - 我可以将这些方法变成通用方法吗?

转载 作者:行者123 更新时间:2023-11-30 20:44:10 24 4
gpt4 key购买 nike

我有两种方法可以将可为空的参数加载到 SqlCommand 中;

    public static void LoadParameter<T>(Nullable<T> parameter, string name, SqlCommand cmd) where T : struct
{
if (parameter.HasValue)
cmd.Parameters.AddWithValue(name, parameter);
else
cmd.Parameters.AddWithValue(name, DBNull.Value);
}

    public static void LoadParameter(string parameter, string name, SqlCommand cmd)
{
if (!string.IsNullOrEmpty(parameter))
cmd.Parameters.AddWithValue(name, parameter);
else
cmd.Parameters.AddWithValue(name, DBNull.Value);
}

我的问题是:我可以只使用一种方法来获得相同的结果吗?我可以将“no Nullables”参数添加到这个(新)方法并且仍然有效吗? IE。 Int16、Int32、Int64 等

谢谢!

最佳答案

你可以做到

public static void LoadParameter<T>(T parameter, string name, SqlCommand cmd)
{
if (parameter != null && !string.Empty.Equals(parameter))
cmd.Parameters.AddWithValue(name, parameter);
else
cmd.Parameters.AddWithValue(name, DBNull.Value);
}

如果与非string 比较,string.Equals 将返回false,因此此代码应该有效。

关于c# - 我可以将这些方法变成通用方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29755334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com