2011-12-24 1 views
7

В противном случае большая коллекция с открытым исходным кодом не будет строиться на Windows 7 Phone, поскольку она использует Serializable и интерфейс ICloneable, который является внутренним в рамках платформы Silverlight. Существует ли альтернатива или портированная версия?Wintellect PowerCollections для Windows 7 Phone?

ответ

9

Я рекомендую загрузить исходный код от CodePlex и создать его в приложении WP7.

Что мы делаем, когда мы совместно используем код на таких платформах, как это, где конкретные атрибуты не поддерживаются, заключается в добавлении классов-заглушек в проект Silverlight для неподдерживаемых атрибутов. Это позволяет компиляции исходного кода на всех платформах без изменения.

Например, вот наша заглушка для Serializable:

/// <summary> 
/// This is a dummy attribute to support silverlight 
/// </summary> 
/// <remarks></remarks> 
public class Serializable : Attribute 
{ 
    public Serializable() : base() 
    { 
    } 
} 

Вы также можете обнаружить, что есть неподдерживаемый метод перегрузка (Silverlight имеет меньше перегрузок для различных методов). Если это так, вы можете просто использовать условную компиляцию, чтобы обеспечить правильную перегрузку отсутствующих методов.

+0

Предложение: Оберните его в '#if WINDOWS_PHONE ... # endif'. –

+2

@Rhubarb: Просто проверьте, не заинтересованы ли вы в награждении щедростью на этот вопрос? –