我有一个带有静态构造函数的静态类,需要花费一些时间(10-15秒)来执行并完全初始化类.为了提高性能,我决定启用这个静态类,而不是在第一次需要它时,以便在实际需要使用时准备好.
我的第一个想法是为类创建一个Initialize()方法,但由于我已经有了一个静态构造函数,这个方法似乎不需要做任何事情,除了是调用显式初始化类而不访问其他任何一个的方法公共方法或财产.拥有一种不直接做任何事情的方法对我来说似乎并不合适.
然后我想我可以将代码从静态构造函数移动到这个Initialize()方法中,但是我还希望在首次需要时对类进行初始化,并且Initialize()不显式调用该方法.
总而言之,我希望遵守以下标准:
Initialize()方法).对于用C#编写的静态类,遵循上述标准的正确方法是什么?这也适用于其他编程语言(例如Java),但我个人对使用C#编写的解决方案感兴趣.
是他们的任何通知器,让你在通知器中添加特定的构建.现在我正在使用Hudson Tacker(http://hudsontracker.sourceforge.net/index.html)工作正常,但它只让我添加一个构建或所有构建.
我没有在http://wiki.hudson-ci.org/display/HUDSON/Plugins中看到任何可能具有此功能的通知程序.
谢谢.
我正在使用linq来连接数据库,这是我第一次从数据库中显示大量数据,所以我不知道如何处理它.你能给我一个提示吗?谢谢!
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
rebind();
}
private void rebind()
{
using ( var db = new linqDataContext())
{
GridView1.DataSource = db.Orders.Select(p => new { p.OrderID, p.CustomerID, p.ShipName, p.ShipCity }).ToList();
GridView1.DataBind();
}
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
rebind();
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个类分配来使用Scanner读取数据.
import java.util.Scanner;
public class Project23
{
public static void main(String[] args)
{
// Declarations and instantiations.
Scanner scan = new Scanner(System.in);
String any = "";
boolean more = false;
double purchase = 0.0;
// Ask if user would like to run program?
System.out.print("Do you have any purchases? Y/N?: ");
// Ready value into string.
any = scan.nextLine();
System.out.println();
// If any is equal to y or Y it will set the value of more to true
// this runs …Run Code Online (Sandbox Code Playgroud)