互操作 – 为什么WinRT类型必须被密封?

在几个地方(例如MSDN上的“ Creating Windows Runtime Components for JavaScript,in C# and Visual Basic”),我已经看到它指定了,如果您在.NET中编写一个要从JavaScript使用的类,那么您必须使其成为一个密封类.

这似乎是一个任意的限制.为什么JavaScript只能使用密封类?

暴露给JavaScript应用程序的Windows运行时对象从JavaScript透视图密封 – 您不能向WinRT对象添加expando属性.但是从C和C#开始,如果对象支持继承,则可以继承winrt对象(大多数Xaml类支持继承,但大多数其他类不支持继承).

WinRT对象从JS密封的原因是确保winrt对象的行为相同,无论应用程序执行了什么 – 如果应用程序在对象上重新定义了一些功能属性,可能会导致应用程序的其他部分行为不端.

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...