Noob在这里提问,但我真的被卡住了!
我正在尝试建立一个可以在我的名为UpdateDatabase
的应用程序中使用的类。 UpdateDatabase.cs
文件存储在我的AppName.Helpers
命名空间中,我已在我想要使用using AppName.Helpers
的任何地方声明UpdateDatabase
。
我在调用UpdateDatabase
时遇到问题。我把它设置为public class UpdateDatabase
。这是正确的做法吗?
在UpdateDatabase
内,我还有其他几个课程UpdateCustomers
,UpdateEmployees
和UpdateProducts
。我希望用户能够点击按钮,拨打该电话UpdateDatabase
,然后开始执行UpdateDatabase
中的三个“子类”。
我呼叫UpdateDatabase
的任何地方我收到错误AppName.Helpers.UpdateDatabase' is a 'type' but is used like a 'variable
答案 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 。您不需要实例化它,但是您将无法创建实例,也无法销毁它。