2013-12-10 34 views
0

我有以下代碼;我想將它轉換爲winRT。其實,我不知道如何處理ISerializable的,序列化,的SerializationInfo和COMPACT_FRAMEWORK從.Net到winRT的轉換

using System; 
using System.Collections; 
#if !COMPACT_FRAMEWORK 
using System.Runtime.Serialization; 
#endif 

namespace Coversant.Attributes 
{ 
    [Serializable] 
public class AssertionFailedError : Exception 
     #if !COMPACT_FRAMEWORK, ISerializable 
     #endif 
    { 
     #if !COMPACT_FRAMEWORK 
    protected AssertionFailedError(SerializationInfo info, StreamingContext context) :  base(info, context){} 
     #endif 
} 

}

回答

1

好,COMPACT_FRAMEWORK是相信你會對一些老的,小的設備和預處理指令(#if什麼, #endif)只是在構建Compact Framework以外的任何內容時編譯代碼時應使用的代碼。 WinRT的是擁有這些丟失的其實差不多,但也有Serializable屬性丟失,所以你會做這樣的事情,這基本上是一個簡單的Exception類定義中不包含任何新的或重寫成員:

using System; 
using System.Collections; 
#if (!COMPACT_FRAMEWORK && !NETFX_CORE) 
using System.Runtime.Serialization; 
#endif 

namespace Coversant.Attributes 
{ 
#if !NETFX_CORE 
    [Serializable] 
#endif 
    public class AssertionFailedError : Exception 
#if (!COMPACT_FRAMEWORK && !NETFX_CORE) 
    , ISerializable 
#endif 
    { 
#if (!COMPACT_FRAMEWORK && !NETFX_CORE) 
     protected AssertionFailedError(SerializationInfo info, StreamingContext context) :  base(info, context){} 
#endif 
    } 
}