簡體   English   中英

如何在C#中的非靜態方法中調用靜態方法

[英]how to call static method inside non static method in c#

如何在c# non static static方法內部調用static方法?

面試官給我的場景是:

class class1
{

    public static void method1(){}

    public void method2()
    {
        //call method1()
    }

我們該怎么做

通常的做法是使用類名調用靜態方法。

請參閱: 靜態類和靜態類成員(C#編程指南)

始終通過類名而不是實例名訪問靜態成員 無論創建多少個類實例,靜態成員只有一個副本。

因此,您的呼叫將像:

class1.method1();

但這不是必須的

您可以不使用類名調用靜態方法,例如:

method1();

但是,您只能在包含該靜態方法的類內執行此操作,如果沒有該類外部的類名,則不能調用靜態方法。

如果您在某個類中調用該方法,則只需像這樣調用它

    public void method2()
    {
        method1();  

    }

但是如果應該從另一個類中調用它,則必須在其前面加上該類的名稱

public void method2()
        {
            class1.method1();  

        }
class1.method1();

與您調用任何其他靜態方法相同

顯然(如Selman22所指出的)-類名不是必需的。

所以

method1();

也會一樣好

您鍵入方法名稱,然后編譯並運行它:

class class1
{
    public static void method1(){}

    public void method2()
    {
        method1()
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM