代码之家  ›  专栏  ›  技术社区  ›  Stephen Newman

locationCollection未标记为scriptableType,但可以在脚本中实例化(如何实现?)

  •  1
  • Stephen Newman  · 技术社区  · 15 年前

    我正在开发一个小的Silverlight应用程序,它涉及在JavaScript和Silverlight之间传递一些数据。我也在使用Silverlight虚拟地球控制。

    我遇到的奇怪之处在于,可以将microsoft.maps.mapcontrol.locationCollection注册为脚本可创建类型,并将其实例化并传递给脚本可成员。这很好,但我看不到locationCollection被标记为scriptableType的位置-我是否遗漏了一些明显的东西。

    app.xaml.cs中的代码-应用程序启动

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

    有效的javascript代码!

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

    我认为为了在javascript中实例化类的实例,需要将类型标记为[scriptabletype],并且该类型需要注册为可创建类型。据我所知,locationCollection(或它的任何超类)具有此属性。

    有人能帮我把这件事想清楚吗?

    1 回复  |  直到 15 年前
        1
  •  0
  •   AnthonyWJones    15 年前

    没有 ScriptableType 属性指定类型上的所有公共属性、方法和事件都可以编写脚本。这就省去了所有标记 ScriptableMember .