30
A
回答
62
這很簡單。關鍵字'this'返回對包含它的類的當前實例的引用。靜態方法(或任何靜態成員)不屬於特定實例。它們存在而不創建類的一個實例。什麼是靜態成員,以及爲什麼/何時在MSDN文檔中使用它們,還有更多in depth explanation。
5
靜態方法是特定於類而不是實例特定的。 「this」表示運行時類的一個實例,所以它不能在靜態上下文中使用,因爲它不會引用任何實例。 應該使用類的名稱,並且只能訪問類中的靜態成員
1
這代表當前實例對象,並且沒有靜態方法的實例。
8
作爲附加說明,您可以從Static方法訪問該類的靜態成員。使下面的例子有效,有時非常有用。
public static void StaticMethod(Object o)
{
MyClass.StaticProperty = o;
}
1
靜態方法中沒有this
對象引用。
1
如果您想在靜態函數中使用類的非靜態函數。請在靜態函數中創建類的對象。 例如
Class ClsProgram(){
public static void staticfunc(){
ClsProgram Obj = new ClsPrograM()
Obj.NonStaticFunc();
}
public void NonStaticFunc(){}
}
0
對於OP的問題,請參閱接受的答案。這個答案適用於那些正在尋找一個快速的班輪在靜態方法中使用的人。
如果類是一個表單,並且它是開放的(您也需要表單的名稱),那麼可以在靜態方法中調用它;
Application.OpenForms["MainForm"];
相關問題
- 1. 爲什麼在引用靜態方法中的字段時不能使用關鍵字「this」?
- 2. 爲什麼不能在這裏使用'this'關鍵字?
- 3. 如何在java中使用靜態方法使用this關鍵字?
- 4. 爲什麼我不能在rxjs .let()操作中使用「this」關鍵字?
- 5. 爲什麼我不能在類/靜態方法中使用private,internal,fileprivate方法?
- 6. 爲什麼super()不能使用__new__以外的靜態方法?
- 7. 爲什麼你不能在Java中使用相同方法簽名的靜態和非靜態方法?
- 8. 爲什麼在這段代碼中的setAdapter方法中使用了「this」關鍵字?它是指什麼?
- 9. 關鍵字新的靜態方法Promise.resolve
- 10. 爲什麼迴歸和throw關鍵字的不是靜態塊
- 11. 爲什麼@decorator不能裝飾靜態方法或類方法?
- 12. 靜態方法不能實現接口方法,爲什麼?
- 13. 爲什麼實例方法不能覆蓋靜態方法
- 14. 「this」的用法關鍵字
- 15. 爲什麼不使com.fasterxml.jackson.databind.ObjectMapper中的某些方法變爲靜態?
- 16. 爲什麼getAppProperty()不是靜態方法?
- 17. 不能使用在C++類實現文件(的.cpp)一個靜態方法 「靜態」 關鍵字
- 18. 什麼是在java中使用「this」關鍵字
- 19. 什麼時候你會在PHP中使用$ this關鍵字?
- 20. 爲什麼getClass()不能用作靜態方法?
- 21. 爲什麼模板可以直接使用$ this關鍵字?
- 22. 爲什麼在方法聲明中不能同時使用abstract和strictfp關鍵字的原因是什麼?
- 23. $ this關鍵字的含義是什麼?
- 24. groovy中「使用」關鍵字/方法的用法是什麼?
- 25. 爲什麼不使用new關鍵字
- 26. 爲什麼我不能將此方法標記爲靜態?
- 27. 你在靜態變量setter方法中使用什麼名字?
- 28. 爲什麼靜態方法在單例實例中不可用?
- 29. 爲什麼在Android中使用靜態方法
- 30. 使用或不使用「this」關鍵字來引用同一個類中的方法有什麼區別?