C# 序列化/访问ExtensionDataObject
目前,我有一个示例代码,其中有一个类,如下所示:C# 序列化/访问ExtensionDataObject,c#,.net,C#,.net,目前,我有一个示例代码,其中有一个类,如下所示: public partial class PositionData : object, System.Runtime.Serialization.IExtensibleDataObject { private System.Runtime.Serialization.ExtensionDataObject extensionDataField; private string BCRSideField;
public partial class PositionData : object, System.Runtime.Serialization.IExtensibleDataObject
{
private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
private string BCRSideField;
private string ConveyorField;
private string LineField;
private string OriginField;
private string SubConveyorField;
public System.Runtime.Serialization.ExtensionDataObject ExtensionData
{
get
{
return this.extensionDataField;
}
set
{
this.extensionDataField = value;
}
}
[System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
public string BCRSide
{
get
{
return this.BCRSideField;
}
set
{
this.BCRSideField = value;
}
}
[System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
public string Conveyor
{
get
{
return this.ConveyorField;
}
set
{
this.ConveyorField = value;
}
}
[System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
public string Line
{
get
{
return this.LineField;
}
set
{
this.LineField = value;
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public string Origin
{
get
{
return this.OriginField;
}
set
{
this.OriginField = value;
}
}
[System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
public string SubConveyor
{
get
{
return this.SubConveyorField;
}
set
{
this.SubConveyorField = value;
}
}
}
在运行时,将创建此类型的对象,并填充属性ExtensionDataField。但是我怎样才能访问这个对象的值呢
运行时,扩展数据对象的结构如下所示:
我尝试了以下操作,但没有机会访问值“M6\M6\U SC2\U 1”:
var props = a.GetType().GetProperties(BindingFlags.NonPublic | BindingFlags.Instance);
foreach (var prop in props)
{
var propertieValue = prop.GetValue(data.Position.ExtensionData, null);
var subProps = propertieValue.GetType().GetProperties(BindingFlags.NonPublic | BindingFlags.Instance);
foreach (var subprop in subProps)
{
var subPropertieValue = prop.GetValue(data.Position.ExtensionData, null);
}
}
没有人能回答这个问题?没有人能回答这个问题?