【发布时间】:2017-10-11 21:37:35
【问题描述】:
我有一个名为UnitsManager 的课程。在这个类中有一个枚举:
public enum TimeUnit
{
Seconds,
Milliseconds,
Minutes,
Hours,
Days,
Months,
Years
}
这个枚举用在另一个名为Process 的类中。它有一个属性:
private TimeUnit cycleTimeUnit = TimeUnit.Seconds;
[XmlAttribute("CycleTimeUnit")]
public TimeUnit CycleTimeUnit
{
get { return this.cycleTimeUnit; }
set { this.cycleTimeUnit = value; }
}
我正在尝试序列化和反序列化 Process 类。我已经在 Process 类上实现了 ISerializable
public override void GetObjectData(SerializationInfo info, StreamingContext context)
{
base.GetObjectData(info, context);
info.AddValue("CycleTime", CycleTime);
info.AddValue("CycleTimeUnit", CycleTimeUnit);
}
我的问题在于反序列化
private Process(SerializationInfo info, StreamingContext context)
{
CycleTime = info.GetDouble("CycleTime");
CycleTimeUnit = info.????("CycleTimeUnit"); // <--- ???
}
如何将其转换为 CycleTimeUnit 类型?
【问题讨论】:
标签: c# serialization enums