Có cách nào để đặt giá trị của biến tĩnh (riêng tư) trên đối tượng chưa được khởi tạo không? Phương pháp SetValue
yêu cầu một cá thể, nhưng tôi hy vọng có một cách để giải quyết vấn đề này.Sử dụng Phản chiếu để đặt giá trị biến tĩnh trước khi khởi tạo đối tượng?
20
A
Trả lời
41
Đối với các giá trị tĩnh, bạn có thể chuyển giá trị rỗng cho tham số mẫu.
var type = typeof(SomeClass);
var field = type.GetField("SomeField");
field.SetValue(null, 42);
1
bạn có thể tạo một hàm tĩnh mà là công khai và sử dụng nó để thiết lập biến tĩnh riêng của bạn?
Các vấn đề liên quan
- 1. đối tượng khởi tạo với sự phản chiếu bằng cách sử dụng đối số hàm dựng
- 2. Python có sao chép giá trị hoặc tham chiếu khi khởi tạo đối tượng không?
- 3. Lỗi khởi tạo tĩnh nếu được đặt trước khai báo
- 4. Lấy các giá trị trường tĩnh của một kiểu bằng cách sử dụng sự phản chiếu
- 5. Cách tự động đặt giá trị của thuộc tính của đối tượng bằng cách sử dụng phản chiếu?
- 6. Trình tự khởi tạo biến tĩnh, Java
- 7. Sử dụng giá trị audioSessionId để khởi tạo lớp AudioFx?
- 8. C# Đặt đối tượng Giá trị thuộc tính DateTime thông qua sự phản chiếu
- 9. Đối tượng Javascript theo nghĩa đen: khởi tạo giá trị?
- 10. Gọi phương thức tĩnh sử dụng phản chiếu
- 11. Số lượng đối số sai khi gọi hàm tạo Scala bằng cách sử dụng phản chiếu
- 12. Có thể sử dụng giá trị biến jsp để khởi tạo biến JQUERY không?
- 13. bộ khởi tạo đối tượng biến đổi?
- 14. Tạo đối tượng mới bằng cách sử dụng sự phản chiếu?
- 15. Cách thích hợp để sử dụng phản chiếu để khởi tạo các đối tượng của các lớp không xác định khi chạy là gì?
- 16. Biến đối tượng trong giá trị giữ C++, không tham chiếu đối tượng
- 17. Khi nào chúng ta nên sử dụng biến cuối cùng tĩnh chưa được khởi tạo?
- 18. Chọn đối tượng dựa trên giá trị của biến trong đối tượng sử dụng JQ
- 19. "Biến không tĩnh này không thể được tham chiếu từ ngữ cảnh tĩnh" khi tạo một đối tượng
- 20. khi sử dụng giá trị mặc định so với hàm khởi tạo khởi tạo trên mô hình
- 21. Tạo một tên biến sử dụng một giá trị String
- 22. Tham chiếu đối tượng tĩnh được tạo trong một lớp trong toàn bộ ứng dụng
- 23. Tiếp cận tĩnh biến thức sử dụng phản ánh
- 24. Lớp tĩnh nào khởi tạo trước tiên?
- 25. Khởi tạo giá trị thông qua biến Session
- 26. Mutex khi trả về giá trị đối tượng
- 27. Biến tĩnh mất giá trị
- 28. Khởi tạo các biến tĩnh trong C
- 29. Tạo phương thức động để đặt trường của cấu trúc thay vì sử dụng phản chiếu
- 30. Sử dụng giá trị chưa được khởi tạo trong đối sánh mẫu (m //)
Ngọt ngào, cảm ơn! Tôi rất trân trọng điều này. – Chance
+1 hấp dẫn: những gì tôi thấy một chút đáng sợ trong kỹ thuật này là: nếu trường trong câu hỏi là chỉ đọc: mã này sẽ không gây ra một lỗi thời gian chạy khi thực hiện. – BillW
Nếu trường được đề cập là chỉ đọc, nó có làm gì không? Hay nó vẫn đặt giá trị? Đây có phải là .NET 3.5? –