Определяет, как объекты сериализуются, по умолчанию IsReference=false
.
Настройка IsReference = true
позволяет сериализовать деревья объектов, которые могут ссылаться друг на друга. Таким образом, со списком Employees
, каждый из которых имеет свойство для Manager
(который также является Employee
), можно хранить ссылку на Manager
для каждого Employee
вместо встраивания Manager
в каждый Employee
узел:
IsReference=false
даст:
<Employee>
<Manager i:nil=“true“ />
<Name>Kenny</Name>
</Employee>
<Employee>
<Manager>
<Manager i:nil=“true“ />
<Name>Kenny</Name>
</Manager>
<Name>Bob</Name>
</Employee>
<Employee>
<Manager>
<Manager i:nil=“true“ />
<Name>Kenny</Name>
</Manager>
<Name>Alice</Name>
</Employee>
Где, как IsReference=true
будет производить:
<Employee z:Id=“i1“ xmlns:z=“http://schemas.microsoft.com/2003/10/Serialization/“>
<Manager i:nil=“true“ />
<Name>Kenny</Name>
</Employee>
<Employee z:Id=“i2“ xmlns:z=“http://schemas.microsoft.com/2003/10/Serialization/“>
<Manager z:Ref=“i1“ />
<Name>Bob</Name>
</Employee>
<Employee z:Id=“i3“ xmlns:z=“http://schemas.microsoft.com/2003/10/Serialization/“>
<Manager z:Ref=“i1“ />
<Name>Alice</Name>
</Employee>
Фрагменты, взятые из этого блога , в котором содержится полное объяснение, а также примеры сгенерированного XML с примененным свойством.
MSDN - Свойство IsReference предоставляет сведения, а также Ссылки на совместимые объекты .