1

菜鸟问题在这里,但我真的被困住了!

我正在尝试建立一个可以在我的应用程序中使用的类,称为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

4

5 回答 5

3

您可能正在尝试执行以下操作:

UpdateDatabase.UpdateCustomers();

你有几个选择:

1)创建类的对象

var helper = new UpdateDatabase();
helper.UpdateCustomers();

2)将其用作静态类

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

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

如果这不能回答您的问题,您将不得不使用代码编辑您的帖子。

于 2013-08-17T01:42:36.337 回答
2

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

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

因此

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

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

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

于 2013-08-17T01:49:18.760 回答
1

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

于 2013-08-17T01:44:04.873 回答
0

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

UpdateDatabase.subclass();
于 2013-08-17T01:49:21.683 回答
0

没关系,这里的每个人都曾经是小菜一碟。=)

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

根据 MSDN,将类标记为 public '[...] 是最宽松的访问级别。访问公共成员没有任何限制。但是您需要实例化该类,如下所示:

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

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

另一方面,您可以将您的类声明为static。你不需要实例化它,但你不能创建一个实例,它也不能被销毁。

于 2013-08-17T01:51:07.630 回答