我们什么时候应该在asp.net类中编写静态函数

时间:2009-07-04 11:01:35

标签: c# asp.net-2.0

我有asp.net页面,我有组合框。我很困惑,如何填写该组合因为我有两种方法

  1. 获取组合框数据:通过创建我的数据库类的对象。和组合框数据的调用函数。

  2. 获取组合框数据:使用静态函数

  3. 我们什么时候应该创建静态函数?我们如何判断函数是否应该是静态的。

    假设我需要根据城市ID填写居住在城市的人口,并且还有其他过滤条件,如商业团体,服务团体,学生。

    填充组合框的最佳方法是什么。

3 个答案:

答案 0 :(得分:1)

如果它应该是无状态的,那么它应该是静态的。就这么简单。

答案 1 :(得分:1)

你可以有很多场景如何填充你的组合框。 例如:

  • 您可以从ComboBox派生,并且可以在Load事件上填充它们(或者如果您愿意,可以填写任何其他事件)
  • 您可以使用相同的界面使用组合框填充类(例如:UserConboBoxFiller,InvoiceComboBoxFiller,ArticleComboBoxFiller等...)
  • 您可以使用组合框填充的静态方法 - 正如您所写的那样。在简单的场景中,这没有错。

如果你有几个填充组合框的过滤条件,我建议使用这些类来填充:

public interface IComboBoxFiller {
    void Fill( ComboBox cbo );
}

public class UsersComboBoxFiller : IComboBoxFiller {
    public bool OnlyOnlineUsers {get;set;}

    public void Fill( ComboBox cbo ) {
        // there is logic for combobox filling
        // you can dynamicly generate where condition
        // by the "OnlyOnlineUsers"
    }
}

答案 2 :(得分:0)

如果您的函数不需要处理类实例并访问该实例状态,则可以将它们设置为静态。

静态类和函数在Web应用程序中很常见,因为这些应用程序通常是无状态HTTP上的无状态工作。或者至少他们通过使用会话,cookie等一些技巧或将一些帮助内容注入HTML来模仿有状态。但即便如此,PC内存中几乎没有状态 - 创建对象以响应请求并在发送响应后删除。因此,类和函数主要用于打包用户数据并将其发送到数据库并反向发送。大多数情况下,只是数据流处理。