c# 如何从静态方法调用非静态方法
介绍
在这篇博客中,我们讨论了静态关键字、静态方法以及如何从静态方法中调用非静态方法。
static 是一个关键字。顾名思义,它保持一个静态值并保持它直到程序结束。static 关键字用在访问说明符之后和数据类型之前。
例子
public static int i = 2;
我们可以在整个程序中使用“i”值。静态就像常量,但对于静态内存是在运行时分配和赋值的。
我们可以在非静态类中创建一个静态方法。
class Program {
public static void Main(string[] args) {
TestMethod();
staticFunction();
}
public void TestMethod() {
Console.WriteLine("Inside non-static function");
}
public static void staticFunction() {
Console.WriteLine("Inside static function");
}
}
在上面的代码中,我们在非静态类“ Program ”中创建了方法staticFunction()。但是当我们尝试调用非静态函数,即静态函数内的 TestMethod() 时,它会给出错误 – “非静态字段、成员或属性 ‘Program.TestMethod() 需要对象引用”。
所以我们需要创建一个类的实例来调用非静态方法。
staticFunction()方法是一个静态方法,我们可以直接调用这个方法。
class Program {
public static void Main(string[] args) {
Program p = new Program();
p.TestMethod();
staticFunction();
}
public void TestMethod() {
Console.WriteLine("Inside non-static function");
}
public static void staticFunction() {
Console.WriteLine("Inside static function");
}
}
概括
在这篇博客中,我们通过代码示例讨论了如何从类中实现和调用静态和非静态方法。我希望它对初学者有帮助。
常见问题FAQ
- 程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
- 请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!