小编Ber*_*ard的帖子

如何在实际需要之前初始化C#静态类?

我有一个带有静态构造函数的静态类,需要花费一些时间(10-15秒)来执行并完全初始化类.为了提高性能,我决定启用这个静态类,而不是在第一次需要它时,以便在实际需要使用时准备好.

我的第一个想法是为类创建一个Initialize()方法,但由于我已经有了一个静态构造函数,这个方法似乎不需要做任何事情,除了是调用显式初始化类而不访问其他任何一个的方法公共方法或财产.拥有一种不直接做任何事情的方法对我来说似乎并不合适.

然后我想我可以将代码从静态构造函数移动到这个Initialize()方法中,但是我还希望在首次需要时对类进行初始化,并且Initialize()不显式调用该方法.

总而言之,我希望遵守以下标准:

  • 我想允许显式初始化静态类(可能通过使用公共Initialize()方法).
  • 我不想在不需要它时访问类上的任何其他公共方法或属性,即使这会初始化静态类.
  • 如果该类尚未显式初始化,我仍然希望在首次需要时初始化它(即访问其他公共方法或属性时,意图使用它们提供的功能或数据).
  • 这是一个帮助类,使用Singleton设计模式对我来说不是必需的.

对于用C#编写的静态类,遵循上述标准的正确方法是什么?这也适用于其他编程语言(例如Java),但我个人对使用C#编写的解决方案感兴趣.

c# static

15
推荐指数
2
解决办法
2万
查看次数

哈德森通知者?

是他们的任何通知器,让你在通知器中添加特定的构建.现在我正在使用Hudson Tacker(http://hudsontracker.sourceforge.net/index.html)工作正常,但它只让我添加一个构建或所有构建.

我没有在http://wiki.hudson-ci.org/display/HUDSON/Plugins中看到任何可能具有此功能的通知程序.

谢谢.

build-automation build-process hudson

8
推荐指数
2
解决办法
2636
查看次数

如何在网格视图中显示大量数据而不会导致页面崩溃?

我正在使用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)

sql linq asp.net

0
推荐指数
1
解决办法
2394
查看次数

Java Homework用户输入问题

我有一个类分配来使用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)

java user-input

-2
推荐指数
1
解决办法
706
查看次数

标签 统计

asp.net ×1

build-automation ×1

build-process ×1

c# ×1

hudson ×1

java ×1

linq ×1

sql ×1

static ×1

user-input ×1