gpt4 book ai didi

c# - WinRT .NET 4.5 和 RCW

转载 作者:行者123 更新时间:2023-11-30 13:04:44 26 4
gpt4 key购买 nike

只是想知道是否有人有足够的时间使用 WinRT 来了解 WinRT 和 .NET 4.5 中是否有一些区域会抹去 .NET 程序员在 VSTO 和 COM Interop Office 编程中遇到的与 RCW 和相关的旧项目除了不使用终结器之外,COM 引用计数和 .NET GC 之间的差异(确保您获得对所有 .NET RCW 的引用等)。

这没什么大不了的,只是好奇他们是否抽象出了这些考虑因素,或者更好的是,架构在本质上是不同的,这些问题甚至不适用。

提前致谢

也许更好的提问方式是,它是否仍然与托管/垃圾收集内存模型中的 .NET 对象架构在本质上相同,该内存模型在非托管(但沙盒化)引用计数内存架构中引用 COM (WinRT) 对象?

除非元数据绑定(bind)或沙盒环境中有一些“魔法”,否则我们只需要应用与 RCW 相同的方法。

最佳答案

我已经使用 C#/XAML 在开发人员预览版上构建了两个完整的应用程序。 WinRT 对象就像普通的 C# 对象一样。不需要终结器或其他传统的 .NET/COM 互操作性东西。 .NET 的投影使 WinRT API 非常无缝。

有些地方 COM 会泄漏。

  • WinRT 对象抛出的异常没有堆栈跟踪
  • WinRT 对象抛出的大多数异常都具有通用异常类型并包含 HRESULT 错误代码。

我希望这些问题会在未来的 Windows 8 版本中得到解决。

现在也有一些冗余,在 WinRT 和 .NET 中定义了相似的类型(IObservableVectorINotifyCollectionChanged)

关于c# - WinRT .NET 4.5 和 RCW,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7654967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com