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

zjytianlang 回答:C# 通过 GetProperties 获取 ExtensionObject 中的值

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/992520.html

大家都在问