gpt4 book ai didi

c# - 在函数中放置经常重复的代码?

转载 作者:太空宇宙 更新时间:2023-11-03 14:24:19 27 4
gpt4 key购买 nike

我经常在整个 OnClicks 和 OnLoads 中使用此代码或此代码的一种形式:

 DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlCommand cmd = new SqlCommand("administratorGetAll", con))
{
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
da.Fill(dt);
}
}
}

所以我想知道减少如此大的重复的最佳方法是什么;功能?

我目前正在尝试这样的事情:

 public void SqlStructGetAll(string storedProc, string connection)
{
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(connection))
{
using (SqlCommand cmd = new SqlCommand(storedProc, con))
{
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
da.Fill(dt);
}
}
}
}

但我不确定我是否偏离了这一点。

最佳答案

有一些设计模式可以解决代码重复是主要问题的此类设计问题。

适用于您的场景的模式是 Gang Of Four 模式目录中的模板方法设计模式。

你的方向是对的——请引用http://www.dofactory.com/Patterns/PatternTemplate.aspx有关设计模式的详细信息。

大多数现代框架都为数据库处理等操作提供实用程序包装器和模板方法 - 您可以使用提供此类方法的 Spring.NET。你可以看看这个链接 http://www.springframework.net/docs/1.3.0/reference/html/ado.html例如在 Spring .NET 中使用 ADO.NET API 的模板方法

关于c# - 在函数中放置经常重复的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4478691/

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