可以在整个申请中使用的类

时间:2013-08-17 01:40:14

标签: c#

Noob在这里提问,但我真的被卡住了!

我正在尝试建立一个可以在我的名为UpdateDatabase的应用程序中使用的类。 UpdateDatabase.cs文件存储在我的AppName.Helpers命名空间中,我已在我想要使用using AppName.Helpers的任何地方声明UpdateDatabase

我在调用UpdateDatabase时遇到问题。我把它设置为public class UpdateDatabase。这是正确的做法吗?

UpdateDatabase内,我还有其他几个课程UpdateCustomersUpdateEmployeesUpdateProducts。我希望用户能够点击按钮,拨打该电话UpdateDatabase,然后开始执行UpdateDatabase中的三个“子类”。

我呼叫UpdateDatabase的任何地方我收到错误AppName.Helpers.UpdateDatabase' is a 'type' but is used like a 'variable

5 个答案:

答案 0 :(得分:3)

你可能正在尝试这样做:

UpdateDatabase.UpdateCustomers();

你有几个选择:

1)创建类

的对象
var helper = new UpdateDatabase();
helper.UpdateCustomers();

2)将其用作静态类

public static class UpdateDatabase {
    public static void UpdateDatabase(){}
}

为了使用类的方法,您必须创建它的实例,以便访问这些方法。或者你可以将它设置为静态,因此不需要实例,但是每次使用它时都会共享这个类。

如果这不能解答您的问题,则必须使用代码编辑您的帖子。

答案 1 :(得分:2)

我不是C#程序员,但听起来我需要实例化你的课程。您的类updateDatabase仅告诉编译器该变量的外观,而不是它实际上是updateDatabase类型的对象

在大多数OO语言中,您可以通过调用构造函数来创建类型为myClass的对象,当您使用new关键字时,该对象会隐式发生。

因此

var db = new updateDatabase();
db.myMethod();

由于这些原因,编译器抱怨消息

  

AppName.Helpers.UpdateDatabase' is a 'type' but is used like a 'variable

答案 2 :(得分:1)

如果您可以显示一些代码及其用法,将会很有帮助。 我假设问题是UpdateDatabase类不是静态类和/或你没有通过“new up it”创建它的实例,所以你可以在代码的其他部分实际使用它

答案 3 :(得分:0)

对于按钮的onClick事件,请调用您的类:

UpdateDatabase.subclass();

答案 4 :(得分:0)

没关系,这里的每个人都是一个nooblet。 =)

我相信你的问题在于你正试图直接访问这些方法。

According to MSDN,将一个类标记为公共'[...]是最宽松的访问级别。访问公共成员没有任何限制。但是你需要实例化这个类,如下所示:

    AppName.Helpers.UpdateDatabase _obj = new AppName.Helpers.UpdateDatabase();

之后,您将能够使用其成员(方法和属性)。

另一方面,您可以将您的课程声明为 static 。您不需要实例化它,但是您将无法创建实例,也无法销毁它。