[英]Tombstone wp7 how save Enum… and other unkwon object
當我在wp7(C#)中保存一個包含Enum類型的變量時,我收到異常,其含義是enum是未知類型,因此系統無法序列化。
例如
public enum videoType:int {
LongVideo=1,
ShortVideo }
or
public enum video
{
LongVideo,ShortVideo
}
_videoType = videoType.ShortVideo
PhoneApplicationService.Current.State["myType"]
有人告訴我使用Datacontract和數據成員,但在wp7中似乎不可用
那么如何保存枚舉類型呢?
頁面激活后,您將必須將Enum值另存為整數,並從整數重置為正確的Enum值。
[讀取保存的整數值並設置正確的枚舉值。 查找Enum.Parse / Enum.TryParse]
您也可以在Josh Smith的文章http://www.codeproject.com/KB/WPF/WPFJoshSmith.aspx?msg=3766336 [WPF]中查看由Josh Smith實現的EnumValueToDescription Converter屬性。
http://www.michaelsnow.com/2010/12/25/how-to-convert-an-enum-to-its-string-value/
DataContract和DataMember最絕的是 WP7的所有版本。
您不需要將int指定為祖先類型,因為int是默認的祖先類型。
public enum videoType
{
LongVideo = 1,
ShortVideo,
}
由於您可以使用簡單的轉換將int轉換為基於int的枚舉,因此建議將其轉換為int以保存並轉換回枚舉以進行加載。
請參見以下答案: 如何將枚舉值序列化為int?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.