Поскольку среды выполнения Windows проецируются на различные языки, некоторые ограничения основных типов данных существует для того, чтобы разместить все такие языков. Программисты должны быть осторожны с поведением этих типов при использовании общего доступа (для параметров метода, метода возвращаемых значений свойств и т.д.
Основные типы
В языках .NET и С ++ богатый набор типов данных существует, представляющие различные цифры.
в JavaScript, число может представлять только до 53 бит точности.
в WinRT, единственный недостаток Nu meral data type - 8-разрядное целое число со знаком относительно .NET и C++. Разработчики JavaScript должны быть осторожны, когда обрабатывает большие числа при кодировании для WinRT.
Струны
Строки неизменны в .NET и JavaScript, но изменяемые в C++.
Нулевой указатель, переданный в виде строки WinRT по C++ преобразуется в пустую строку
В .Net, нуль передается в виде строки в WinRT преобразуется в пустую строку
В JavaScript, null, передаваемый как строка в WinRT, преобразуется в строку со словом null.Это связано с ключевым словом NULL в JavaScript представлены как нулевой объект
Аналогичные результаты возникают при переходе неопределенными в WinRT из JavaScript
Структуры
В .NET и C++, структуры являются типами значений, и такая структура может содержать любого типа.
JavaScript не поддерживает прямую поддержку структур.
В WinRT использование структур разрешено только для содержащих типов, которые имеют семантику значений, включая цифры, строки и другие структуры. Указатели или ссылки на интерфейс запрещены.
Список литературы
В .NET, объекты передаются по ссылке, а цифры и структуры являются> передаются по значению.
В C++ все типы могут передаваться по ссылке или значению.
В WinRT интерфейсы передаются по ссылке; все остальные типы: передано по значению.
Массивы
В .NET, C++ и массивы JavaScript ссылочные типы.
В WinRT массивы являются типами значений.
События
В .NET и C++, клиенты подписаться на события, используя оператор + =.
В JavaScript функция addEventListener или настройка на свойство используется для подписки на события.
В WinRT все языки могут использовать свой собственный способ подписки на события.
Коллекции
Некоторые коллекции .NET карту непосредственно в коллекции WinRT.
WinRT Векторный тип напоминает массивы, а синтаксис массива используется для .
Тип карты WinRT является коллекцией ключей/значений и проецируется как Словарь на языках .NET.
Метод перегрузки
Все WinRT языки (.NET, C++, JavaScript) поддержка перегрузки по параметров
.NET и C++ также поддерживают перегрузки по типу.
В WinRT для перегрузки используется только номер параметра.
Асинхронность
методы Все WinRT сконструированы таким образом, что любой метод занимает больше времени, чем 50 миллисекунд является метод асинхронной.
Установленный шаблон именования для различения асинхронных методов: Async. Для полной библиотеки времени выполнения все методы, которые имеют возможность , дольше 50 мс, реализуются только как асинхронные методы.