遍历非 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);