protected override void InitializeTypeSerializationInfo(ITypeSerializationInfo serializationInfo)
{
base.InitializeTypeSerializationInfo(serializationInfo);
if (!serializationInfo.IsIdentified && !serializationInfo.IsCollection && serializationInfo is XmlTypeSerializationInfo)
{
XmlTypeSerializationInfo info = serializationInfo as XmlTypeSerializationInfo;
var id = IdAttribute;
if (id != null && info != null)
{
if (!info.AttributeProperties.Contains(id))
{
info.DeclaredAttributeProperties.Add(id);
}
info.IdentifierProperty = id;
}
}
}