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

前端之家收集整理的这篇文章主要介绍了互操作 – 为什么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相关文章