通常我可以調用this.GetType(),但我無法在靜態方法中訪問它。我們如何檢查它?如何在靜態方法中獲取當前類的名稱?
19
A
回答
26
new StackFrame().GetMethod().DeclaringType
或
MethodBase.GetCurrentMethod().DeclaringType
或
new StackTrace(true).GetFrame(<frame index>).GetMethod() //e.g. <frame index> = 0
0
我不知道這是否是做的最好的方式,但我通常可以設置一個private
構造函數(如果我的課是static/util不可實例化的類),並且在實例上調用GetType()
。
private MyStaticClass
{
// ...
}
public static Type MyStaticMethiod()
{
return new MyStaticClass().GetType();
}
13
相關問題
- 1. 如何獲取PowerShell靜態類方法中的當前類名/對象?
- 2. php:在靜態方法中獲取繼承類的名稱
- 3. AS3從靜態方法獲取當前類名
- 4. 在靜態方法中獲取運行時的當前類?
- 5. 在非View類中以靜態方法獲取當前活動
- 6. 如何在squeak中獲取當前方法的名稱?
- 7. 如何在Delphi 7中獲取當前方法的名稱?
- 8. 獲取當前方法的名稱
- 9. 獲取靜態泛型方法中的當前類型?
- 10. 如何在PHP中使用靜態方法獲取類名?
- 11. 如何在php中靜態獲取類的名稱?
- 12. 如何在運行時獲取靜態類的方法名?
- 13. 如何從Python中的靜態方法獲取(子)類名?
- 14. android獲取多態方法的當前活動名稱
- 15. 如何在Angular4中獲取當前狀態的前一個狀態名稱?
- 16. 在C++中獲取當前方法的名稱
- 17. 獲取當前類的名稱
- 18. 如何獲取類在.NET中輸入基類靜態方法?
- 19. 獲取當前正在執行的方法的名稱
- 20. 如何獲取調用靜態方法的類和方法?
- 21. 獲取當前正在執行的當前線程的方法名稱
- 22. PHP在靜態函數中獲取子類的名稱
- 23. 獲取當前MembershipProvider名稱
- 24. 類名的靜態方法?
- 25. 如何將類的靜態方法引入到名稱空間?
- 26. 抽象類的靜態方法中的類名稱
- 27. 如何獲取當前的viewController類名?
- 28. 如何使用angularjs獲取當前狀態名稱
- 29. 如何在.NET Core 1.1中獲取當前屬性的名稱
- 30. 如何在Perl中獲取當前子程序的名稱?
看:http://stackoverflow.com/questions/552629/c-sharp-print-the-class-name-from-within-a- static-function – k06a 2012-02-17 10:09:15