我正在研究一种“新语言”(不是那么雄心勃勃)XML 定义,我希望可以选择同时通过 xml(序列化/反序列化)和 API 使用对象图。
public class Project
{
public List<Connection> Connections { get; set; }
public List<Table> Tables { get; set; }
/* Constructors and more.... */
}
public class Connection
{
public string Name { get; set; }
public string ConnectionString { get; set; }
/* Constructors and more.... */
}
public class Table
{
public string TableName { get; set; }
public Connection Conn { get; set; }
/* Constructors and more.... */
}
好的,现在我想用以下方式序列化/反序列化它:
<Project>
<Connections>
<Connection Name="MyConnName" ConnectionString="My connection string"\>
<\Connections>
<Tables>
<Table TableName="MyTable" ConnectionName="MyConnName"\>
<\Tables>
<\Project>
这里有两个问题:
该类有一个“Conn”属性,它是对连接类的引用,但在“语言”(Xml 序列化)中重命名为“ConnectionName”(我想更改名称以避免纯对象引用(类)和语言“按名称引用”(Xml 序列化)
如您所见,我想保留参考,但不包括“z.id ??” 就像 DataContractSerializer 在 preserveObjectReference 设置为 true 时所做的那样,我想使用“名称”(更易于阅读)
有任何想法吗?