[英]Type.GetProperties exclude properties with operator []
我打電話的時候
Type.GetProperties(BindingFlags.Public | BindingFlags.Instance)
我也用[]運算符得到屬性。 所以我舉例說:
MyType
-> Property1
-> Property2[string]
返回的PropertyInfo列表包含Property1或Property2。
如何使用運算符排除屬性?
我希望它通過bindingflags發生,但迭代后可以通過PropertyInfo迭代,但我在PropertyInfo類上看不到任何指示它是否有運算符的東西。
我認為沒有任何BindingFlags
值可以從一開始就排除它們,但您可以使用PropertyInfo.GetIndexParameters()
來過濾屬性:如果屬性未編入索引,則它沒有索引參數。
您可以使用LINQ來解決此問題:
Type.GetProperties(BindingFlags.Public | BindingFlags.Instance).Where(prop => prop.GetIndexParameters().Length == 0);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.