C# 通过 GetProperties 获取 ExtensionObject 中的值

问题描述

所以我有点迷失在如何提取在 ExtensionDataObject 中接收到的数据,但让我们从乞讨开始吧。

我收到一份包含大量信息的传入合同,在这个合同中有 ExtensionData。 我所做的是将 ExtensionDataObject 的 PropertyInfo 放入一个列表中。

    ExtensionDataObject extData = source.ExtensionData;

      PropertyInfo membersProperty = typeof(ExtensionDataObject).GetProperty("Members",BindingFlags.NonPublic | BindingFlags.Instance);
 IList members = (IList)membersProperty.GetValue(extData,null);

然后我遍历每个成员并获取变量中的属性值。

            foreach (var member in members)
            {        
                var getProperty = member.GetType().GetProperties();

完成后,我尝试将我需要的信息映射到变量中,如下面的代码

 foreach (var property in getProperty)
                    {
                        var name = property.GetValue(member,null);                    
                        var value = property.GetType().GetProperty("Value").GetType().GetProperty("Value").GetValue(member,null);

但是在“var value”期间,代码失败并出现错误“对象引用未设置为对象的实例”

名称在执行时填充了正确的值,并给出了值“FixedPhone”,但我想要的 var 值是“成员->值->值->“数字”下的信息 这是如何访问的?

您在下方看到了新成员的照片,有人能指出我正确的方向或有其他解决方案吗?

members

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)