[英]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.