所以我有点迷失在如何提取在 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 值是“成员->值->值->“数字”下的信息 这是如何访问的?
您在下方看到了新成员的照片,有人能指出我正确的方向或有其他解决方案吗?