LocationCollection не помечен как ScriptableType, но может быть создан в script (как так получилось?)

StackOverflow https://stackoverflow.com/questions/2014607

Вопрос

Я работаю над небольшим приложением silverlight, которое включает в себя передачу некоторых данных между javascript и silverlight.Я также использую silverlight virtual earth control.

Странность, с которой я столкнулся, заключается в том, что можно зарегистрировать Microsoft.Maps.MapControl.LocationCollection как скрипт создает тип, создает экземпляр и передает его в ScriptableMember.Это здорово, но я не вижу, где LocationCollection помечен как ScriptableType - я упускаю что-то очевидное.

Код в App.xaml.cs - Application_Startup

HtmlPage.RegisterCreateableType("mapLocationCollection", typeof(Microsoft.Maps.MapControl.LocationCollection));

Код Javascript, который работает!

var locs = SLPlugin.Content.services.createObject('mapLocationCollection');

Я подумал, что для создания экземпляра класса в JavaScript тип должен быть помечен как [ScriptableType], а тип должен быть зарегистрирован как создаваемый тип.Насколько я могу судить, LocationCollection (или любой из его суперклассов) имеет этот атрибут.

Может ли кто-нибудь помочь мне разобраться в этом в моем сознании?

Это было полезно?

Решение

Нет в ScriptableType атрибут указывает, что все общедоступные свойства, методы и события данного типа доступны для написания сценариев.Это просто избавляет от необходимости отмечать их все с помощью ScriptableMember.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top