Vì vậy, những gì tôi có ngay bây giờ là một cái gì đó như thế này:Làm thế nào để bạn có được tất cả các thuộc tính của một lớp và các lớp cơ sở của nó (lên cấu trúc phân cấp) với Reflection? (C#)
PropertyInfo[] info = obj.GetType().GetProperties(BindingFlags.Public);
nơi obj
là một số đối tượng.
Vấn đề là một số thuộc tính tôi muốn không nằm trong số obj.GetType()
chúng thuộc một trong các lớp cơ sở tiếp tục. Nếu tôi dừng trình gỡ rối và nhìn vào obj, tôi phải đào qua một vài mục "cơ sở" để xem các thuộc tính mà tôi muốn nhận được. Có một số lá cờ ràng buộc tôi có thể thiết lập để có nó trở lại những người hoặc làm tôi phải đệ quy đào qua hệ thống phân cấp Type.BaseType
và làm GetProperties
trên tất cả chúng?
Tôi đánh dấu đây là câu trả lời vì mặc dù công việc của Jay và sẽ đưa tôi những gì tôi muốn, điều này giải thích tại sao nó hoạt động. Tôi chỉ giả định rằng nếu cả Instance lẫn Static đều không được chỉ định, nó sẽ mặc định cả hai, trong khi thực tế nó không trả về. – Davy8
Không có thuộc tính cấp cao nhất trong đối tượng tôi đang xem, vì vậy tôi cho rằng nó chỉ là cố gắng lấy lại những cấp cao nhất khi nó không trả về gì, trong khi thực tế nó không trả về gì bởi vì nó đang cố lấy các thuộc tính không Tĩnh cũng không thể. – Davy8