/// <summary>
/// 串行化(序列化)或并行化(反序列化)枚举类型的变量
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="name"></param>
/// <param name="val"></param>
private void SerializeEnum<T>(string name, ref T val, Abis.Serialization.SerializeDirection direction)
{
if (!typeof(T).IsEnum)
{
throw new NotSupportedException("Serialize 'Enum' type error! val must be an Enum.");
}
if (direction == SerializeDirection.LOAD)
{
string text = string.Empty;
Serialize(name, ref text, direction);
val = (T)Enum.Parse(typeof(T), text);
}
else
{
string text = val.ToString();
Serialize(name, ref text, direction);
}
}