微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C# 通过 GetProperties 获取 ExtensionObject 中的值

如何解决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 举报,一经查实,本站将立刻删除。