[英]Get object properties with reflection except instance properties
我想枚舉使用反射的所有對象屬性,但是我想排除引用對象的屬性(這應該足夠快,因為我正在使用Redis / Booksleve的緩存解決方案)。
目前,我有以下內容,但這將返回所有對象屬性,包括實例成員:
var propertyNameAndValues = member.GetType().GetProperties().Where(m => m.GetGetMethod() != null).ToDictionary(i => i.Name, i => Encoding.UTF8.GetBytes(i.GetGetMethod().Invoke(member, null).ToString()));
var task = conn.Hashes.Set(db, string.Format("members:{0}", member.id), propertyNameAndValues);
使用過載GetProperties
在那里你可以指定BindingFlags
參數,確保BindingFlags.Static
包括但BindingFlags.Instance
被排除在外。
例如:
var flags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static;
var properties = member.GetType().GetProperties(flags);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.