遍历非 public 成员数据
Iterate through non public member data
运行 存在因缺少示例而被大喊大叫的风险,但我正在尝试从非 public 列表中访问所有 属性 names/values对象的成员:
试过这个returns null:
var temp = (cbBasket).GetType().GetProperties().ToDictionary(p => p.Name, p => p.GetValue(cbBasket));
这 returns 是类型而不是值 + 加上包含超过 90 个键值对的列表所以我怀疑这是否正确 (!)
Type myBasket = cbBasket.GetType();
var myMemberInfo = myBasket.GetMembers();
for (int i = 0; 1 < myMemberInfo.Length; i++)
{
var zString = myMemberInfo[i].Name + " " + myMemberInfo[i].MemberType;
}
如有任何帮助,我们将不胜感激。
谢谢,
C
浏览 the source code,您似乎想要这样的东西:
ChargeBee.Api.Params parameters = cbBasket.Params();
var dict = (Dictionary<string, object>)typeof(ChargeBee.Api.Params)
.GetField("m_dict", BindingFlags.Instance | BindingFlags.NonPublic)
.GetValue(parameters);
运行 存在因缺少示例而被大喊大叫的风险,但我正在尝试从非 public 列表中访问所有 属性 names/values对象的成员:
试过这个returns null:
var temp = (cbBasket).GetType().GetProperties().ToDictionary(p => p.Name, p => p.GetValue(cbBasket));
这 returns 是类型而不是值 + 加上包含超过 90 个键值对的列表所以我怀疑这是否正确 (!)
Type myBasket = cbBasket.GetType();
var myMemberInfo = myBasket.GetMembers();
for (int i = 0; 1 < myMemberInfo.Length; i++)
{
var zString = myMemberInfo[i].Name + " " + myMemberInfo[i].MemberType;
}
如有任何帮助,我们将不胜感激。 谢谢, C
浏览 the source code,您似乎想要这样的东西:
ChargeBee.Api.Params parameters = cbBasket.Params();
var dict = (Dictionary<string, object>)typeof(ChargeBee.Api.Params)
.GetField("m_dict", BindingFlags.Instance | BindingFlags.NonPublic)
.GetValue(parameters);