我之前曾在这个论坛上发布过一个问题——“将内部类型转换为通用名称/值对列表”。我确实收到了一些很棒的答案,这为我指明了使用反射的方向,我做了一个简短的概念证明,看起来不错。然而,在使用反射、性能等方面存在一些问题。我想知道还有其他方法吗?
请参阅下面的要求大纲:
我们只想获取一个内部类型,检查该字段是否存在于枚举或列表中,如果它被填充,则将其移动到通用名称/值对列表中。这样我们就可以以通用/标准方式发送大量信息,而无需担心添加新字段时会更改架构等。我的问题是如何填充通用结构。
[Serializable]
public class Location
{
public string sAddress { get; set; }
public string sCity { get; set; }
public int iZipCode { get; set; }
}
需要转化为:
<AttributeList>
<Attribute>
<Name>sAddress</Name>
<Value>123 ABC Street</Value>
<DataType>string</DataType>
</Attribute>
</AttributeList>
重复 sCity 和 iZipCode。我能想到的唯一方法(不使用反射)是为内部结构上的每个字段手动编码 - 位对我来说似乎非常无效
任何想法,将不胜感激!!