Как написать библиотеку классов, которая будет работать на компактной платформе .NET 3.5 И обычной платформе?

Нет. В стандарте C ++ 03 говорится:

[Примечание: поскольку список аргументов явного шаблона следует за именем шаблона функции и потому, что шаблоны функций членов-членов преобразования и шаблоны-функции-члены-конструкторы вызываются без использования функции name, нет способа предоставить явный список аргументов шаблона для этих шаблонов функций.] (§14.5.2 / 5)

10
задан Peter Mortensen 11 October 2009 в 00:30
поделиться

3 ответа

Просто протестировал его в firebug и не обнаружил разницы между пост- и преинкрементами. Может это оптимизация под другие платформы? вы можете заключить его в директиву компилятора (по крайней мере, в C #) следующим образом:

#if PocketPC
    // mobile-specific stuff here
#else
    // desktop-specific stuff here
#endif
  • Обратите внимание, что, хотя вы не можете использовать двоичные файлы desktop-framework на мобильной платформе, обратное неверно. Компактные исполняемые файлы фреймворка могут работать на рабочем столе. Однако я вполне уверен, что настольное приложение не может ссылаться на компактную сборку фреймворка (хотя я никогда не пробовал).
14
ответ дан 3 December 2019 в 16:53
поделиться
  1. Создайте библиотеку классов для компактный каркас.
  2. Добавить ссылку в эту библиотеку из вашего .exe проект (настольный или мобильный)
  3. Прибыль!

Серьезно, я не знаю, почему главный ответ так хорош. Вам вообще не нужны два отдельных проекта. Также я не люблю директивы препроцессора, они уродливы и требуют дополнительных знаний о проекте при игре с параметрами сборки. Гораздо приятнее передать все несовместимые части и части в интерфейс (IPlaformServices или что-то подобное), или вы можете даже просто спросить:

   if(Environment.OSVersion.Platform == PlatformID.WinCE)
   {
       // winCE specific     
   }
   else
   {
       // desktop specific
   }

Оба эти решения являются лучшими решениями, чем директивы препроцессора IMO.

5
ответ дан 3 December 2019 в 16:53
поделиться

> Две платформы не совместимы на двоичном уровне >

На самом деле настольная версия может загружать и запускать сборки CF.

5
ответ дан 3 December 2019 в 16:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: