2008-12-24 34 views

Trả lời

35

Để xác định xem một tài sản là tĩnh, bạn phải được sự MethodInfo cho nhận hoặc thiết lập accessor, bằng cách gọi GetGetMethod hoặc phương pháp GetSetMethod, và kiểm tra tài sản IsStatic của nó.

http://msdn.microsoft.com/en-us/library/system.reflection.propertyinfo.aspx

+2

'BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy' đã làm việc cho tôi. –

13

Tại sao không sử dụng

type.GetProperties(BindingFlags.Static) 
+0

Rất tuyệt! Tuy nhiên, trong trường hợp của tôi, tôi muốn không tĩnh mà dường như không có một lá cờ ràng buộc. – CrashCodes

+8

BindingFlags.Instance – tvanfosson

2

Là một giải pháp nhanh chóng và đơn giản thực tế cho câu hỏi hỏi, bạn có thể sử dụng này:

property.GetAccessors(true)[0].IsStatic; 
Các vấn đề liên quan