LocationCollection não marcado como ScriptableType mas pode ser instanciado no roteiro (Como assim?)
-
19-09-2019 - |
Pergunta
Eu estou trabalhando em um pequeno aplicativo Silverlight que envolve a passagem de alguns dados entre JavaScript e Silverlight. Eu também estou usando o controle virtual earth Silverlight.
A estranheza que eu já vi é que é possível registrar Microsoft.Maps.MapControl.LocationCollection como um tipo createable roteiro e instanciar e passá-lo para um ScriptableMember. Isso é ótimo, mas eu não consigo ver onde LocationCollection é marcado como um ScriptableType -. Estou faltando alguma coisa óbvia
Código em App.xaml.cs - Application_Startup
HtmlPage.RegisterCreateableType("mapLocationCollection", typeof(Microsoft.Maps.MapControl.LocationCollection));
código Javascript que funciona!
var locs = SLPlugin.Content.services.createObject('mapLocationCollection');
Eu pensei que, a fim de criar uma instância da classe em JavaScript do tipo necessário para ser marcado como [ScriptableType] e as necessidades do tipo a ser registrado como um tipo createable. Tanto quanto eu posso dizer LocationCollection (ou qualquer de superclasses) tem este atributo.
Pode alguém lá fora, ajuda-me enquadrar isso em minha mente?
Solução
Não especifica atributos ScriptableType
que todas as propriedades públicas, métodos e eventos do tipo são scripts. Isso simplesmente evita ter marca-los todos com ScriptableMember
.