2010-10-21 50 views
6

Tôi đang làm việc trên một dự án có tên trường từ XML được tải và trường có tên đó được trả về và thêm vào đối tượng hiện tại. Vấn đề là FieldInfo.GetValue dường như trả về giá trị hiện tại của trường, không phải là tham chiếu. Có cách nào để làm được việc này?Lấy tham chiếu đến biến từ FieldInfo

Trả lời

7

Rất tiếc là không có. Thiết kế của FieldInfo.GetValue là cung cấp giá trị và không phải là tham chiếu. Không có phương pháp phù hợp nào khác trên FieldInfo để cung cấp tham chiếu.

Một lý do tại sao làm như vậy sẽ đơn giản là không an toàn. Imagen kịch bản mà đối tượng là một struct trên ngăn xếp. Nếu một FieldInfo có thể cung cấp một tham chiếu đến một trường của struct thì nó sẽ cung cấp một tham chiếu đến một phần của ngăn xếp có thể biến mất bất cứ lúc nào. Đọc hoặc viết tài liệu tham khảo sau khi ngăn xếp đã biến mất sẽ là không chính xác và một loại vi phạm an toàn.

+0

Ah, được rồi. Cảm ơn đã giúp đỡ! – lushr

+0

Điều đó thật tệ. Tôi muốn có thể làm điều đó. Có cần phải có một số cách. –

Các vấn đề liên quan