C# 使用什么类型的类

C# 使用什么类型的类,c#,class,static,abstract,public,C#,Class,Static,Abstract,Public,我对课程和其他东西不太熟悉,所以我在这里寻求一些简单的帮助。。我有很多我经常使用的数据库函数,所以我想我应该把它放到一个类中,我可以从其他需要数据库数据的类中调用它 例如,我有一个输出人员列表的窗口,我在“编辑人员”窗口中有相同的代码,我正在为他们重复相同的代码 我用什么课?我很困惑。我已经将它实现为一个静态类,但我不确定它是否正常工作 如果有人能简单介绍一下什么是类,我会非常感激 谢谢您可以创建这样的类- public class DBOperator {

我对课程和其他东西不太熟悉,所以我在这里寻求一些简单的帮助。。我有很多我经常使用的数据库函数,所以我想我应该把它放到一个类中,我可以从其他需要数据库数据的类中调用它

例如,我有一个输出人员列表的窗口,我在“编辑人员”窗口中有相同的代码,我正在为他们重复相同的代码

我用什么课?我很困惑。我已经将它实现为一个静态类,但我不确定它是否正常工作

如果有人能简单介绍一下什么是类,我会非常感激


谢谢

您可以创建这样的类-

     public class DBOperator 
     {
       //Only static methods, so no public constructor
       private DBOperator()
       {
       }

       // static constructor          
       static DBOperator()
       {
          // do initialization stuff
        } 

        // have static functions to operate on your database
        public static int ExecuteNonQuery(string storedProc, params object[]         parameters)
        {}
     }

您可以创建这样的类-

     public class DBOperator 
     {
       //Only static methods, so no public constructor
       private DBOperator()
       {
       }

       // static constructor          
       static DBOperator()
       {
          // do initialization stuff
        } 

        // have static functions to operate on your database
        public static int ExecuteNonQuery(string storedProc, params object[]         parameters)
        {}
     }

您可以将重复的代码放入一个方法中,并从多个方法调用该方法

关于DB类,您可以将所有DB代码放在一个类中—创建一个实例并从其他类中调用它

但是,如果你开始“塞”所有与DB相关的东西,DB类可能会变得一团糟


阅读OO,寻找一种更有效的方法来设计你的程序。

你可以将重复的代码放入一个方法中,然后从多个方法中调用该方法

关于DB类,您可以将所有DB代码放在一个类中—创建一个实例并从其他类中调用它

但是,如果你开始“塞”所有与DB相关的东西,DB类可能会变得一团糟


阅读OO,寻找一种更有效的方法来设计你的程序。

静态类基本上是一个修饰过的全局变量。您不会创建静态类的实例。所有方法都必须是静态的,如果它保存任何数据,那么数据字段必须是静态的。这意味着使用该类的所有代码将使用相同的数据

如果您的目的是集中db访问痛点,如登录和会话,那么静态类可能是合适的。请记住,来自不同客户端的调用将从静态类中看到相同的细节

非静态类或实例在每个实例中存储不同的数据。必须先创建类的对象实例,然后才能对其执行任何操作。创建对象的优点是,构造自己实例的每个使用者都与该类的任何其他使用者隔离。如果窗口A构造db类的实例并执行操作abc,而窗口B构造自己的db类实例并执行操作xyz,则abc和xyz不会交叉路径-它们之间不会共享任何数据


一般来说,对象实例通常比全局/静态类更受欢迎,因为静态类的共享特性会产生消费者可能不知道的数据依赖性和副作用。

静态类基本上是一个修饰过的全局变量。您不会创建静态类的实例。所有方法都必须是静态的,如果它保存任何数据,那么数据字段必须是静态的。这意味着使用该类的所有代码将使用相同的数据

如果您的目的是集中db访问痛点,如登录和会话,那么静态类可能是合适的。请记住,来自不同客户端的调用将从静态类中看到相同的细节

非静态类或实例在每个实例中存储不同的数据。必须先创建类的对象实例,然后才能对其执行任何操作。创建对象的优点是,构造自己实例的每个使用者都与该类的任何其他使用者隔离。如果窗口A构造db类的实例并执行操作abc,而窗口B构造自己的db类实例并执行操作xyz,则abc和xyz不会交叉路径-它们之间不会共享任何数据


一般来说,对象实例通常比全局/静态类更受欢迎,因为静态类的共享性质会产生消费者可能不知道的数据依赖性和副作用。

我不确定“如何进行OO编程”是否是SO问题的适当范围。(或者这是克里夫笔记摘要中充分解释的内容。)当然,你有多少年了?我不确定“如何进行OO编程”是一个SO问题的合适范围。(或者用克里夫笔记的摘要充分解释了这一点。)当然,你有多少年?