Thông thường tôi có thể gọi this.GetType(), nhưng tôi không thể truy cập điều này trong một phương pháp tĩnh. Làm thế nào chúng ta có thể kiểm tra nó?Cách đặt tên lớp hiện tại theo phương thức tĩnh?
19
A
Trả lời
26
new StackFrame().GetMethod().DeclaringType
hoặc
MethodBase.GetCurrentMethod().DeclaringType
hoặc
new StackTrace(true).GetFrame(<frame index>).GetMethod() //e.g. <frame index> = 0
0
Tôi không biết nếu đó là cách tốt nhất để làm điều đó, nhưng tôi thường được thiết lập một constructor private
(nếu lớp học của tôi là một lớp tĩnh/util không instantiable) và hơn gọi GetType()
trên một cá thể.
private MyStaticClass
{
// ...
}
public static Type MyStaticMethiod()
{
return new MyStaticClass().GetType();
}
13
Sử dụng typeof:
string className = typeof(MyClass).Name;
Các vấn đề liên quan
- 1. gọi phương thức không tĩnh theo tên
- 2. Cách lấy tên lớp từ phương thức tĩnh tĩnh
- 3. Phương thức tĩnh lớp Python
- 4. AS3: gọi phương thức lớp tĩnh - tên lớp và phương thức là các chuỗi
- 5. Nhận loại hiện tại theo phương pháp tĩnh, chung?
- 6. Sử dụng lớp hiện tại trong khai báo phương thức tĩnh Java
- 7. Tự động truy xuất tên của phương thức hiện tại
- 8. Tạo thể hiện lớp từ bên trong phương thức tĩnh
- 9. Trong PHP, tại sao tôi có thể truy cập phương thức không tĩnh theo cách tĩnh?
- 10. Tại sao các phương thức của lớp Toán tĩnh?
- 11. Android: getString (R.string) theo phương thức tĩnh
- 12. phương thức gọi lớp php từ phương thức tĩnh bên trong cùng một lớp nhưng không được thực hiện
- 13. Lấy MethodInfo của phương thức tĩnh của một lớp tĩnh
- 14. Gọi phương thức trên một lớp tĩnh cho tên kiểu và tên phương thức là các chuỗi
- 15. Tại sao phương thức tĩnh Tạo tồn tại?
- 16. Tại sao các lớp tĩnh không có các phương thức và biến không tĩnh?
- 17. Tại sao JavaMail Transport.send() là một phương thức tĩnh?
- 18. Gửi tín hiệu từ phương thức lớp tĩnh trong Qt
- 19. Android - Cách đặt phương thức có tên trong button.setOnClickListener()
- 20. Sự khác nhau giữa phương pháp cấu trúc tĩnh và phương thức lớp tĩnh là gì?
- 21. Mẫu phương thức mẫu cho các lớp tĩnh
- 22. Có cách nào để theo dõi/theo dõi và đăng nhập tất cả các phương thức, theo tên lớp và phương thức, trong một phiên gỡ lỗi không?
- 23. nguồn gốc lớp gọi phương thức tĩnh của lớp cơ sở trong phương pháp tĩnh của riêng mình
- 24. Nhận tên lớp Ruby mà không cần phương thức lớp
- 25. Kiểm tra xem lớp có phương thức tĩnh
- 26. lấy tên lớp gọi từ phương pháp tĩnh thừa hưởng
- 27. Cách xác định phương thức gọi và tên lớp?
- 28. Có thể phát hiện ngữ cảnh lớp trong một phương thức tĩnh được kế thừa không?
- 29. truy cập các phương thức tĩnh sử dụng tên lớp biến (PHP)
- 30. Tại sao phương thức getResourceAsStream nằm trong lớp Class?
Look: http://stackoverflow.com/questions/552629/c-sharp-print-the-class-name-from-within-a- static-function – k06a