/// <summary>
 /// 存储前把可序列化属性序列化成PropertyNames和PropertyValues
 /// </summary>
 void ISerializableProperties.Serialize()
 {
     PropertySerializer.Serialize(ref this.propertyNames, ref this.propertyValues);
 }
 /// <summary>
 /// 获取propertyName指定的属性值
 /// </summary>
 /// <param name="propertyName">属性名称</param>
 /// <param name="defaultValue">如果未找到则返回该默认值</param>
 public T GetExtendedProperty <T>(string propertyName, T defaultValue)
 {
     return(PropertySerializer.GetExtendedProperty <T>(propertyName, defaultValue));
 }
 /// <summary>
 /// 设置可序列化属性
 /// </summary>
 /// <param name="propertyName">属性名称</param>
 /// <param name="propertyValue">属性值</param>
 public void SetExtendedProperty(string propertyName, object propertyValue)
 {
     PropertySerializer.SetExtendedProperty(propertyName, propertyValue);
 }
 /// <summary>
 /// 获取propertyName指定的属性值
 /// </summary>
 /// <param name="propertyName">属性名称</param>
 public T GetExtendedProperty <T>(string propertyName)
 {
     return(PropertySerializer.GetExtendedProperty <T>(propertyName));
 }