c# 如何从静态方法调用非静态方法

作者 : 慕源网 本文共913个字,预计阅读时间需要3分钟 发布时间: 2021-12-6 共1.16K人阅读

介绍

在这篇博客中,我们讨论了静态关键字、静态方法以及如何从静态方法中调用非静态方法。

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");
    }
}

概括

在这篇博客中,我们通过代码示例讨论了如何从类中实现和调用静态和非静态方法。我希望它对初学者有帮助。


慕源网 » c# 如何从静态方法调用非静态方法

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录