gpt4 book ai didi

.net - .NET Framework 对 Windows API 的依赖程度如何?

转载 作者:可可西里 更新时间:2023-11-01 10:39:34 25 4
gpt4 key购买 nike

我知道一些 .NET Framework 库 (FCL) 包装了 Windows API 调用,但我不知道有多少。所有的?大部分?就一点点?

假设我仅使用托管代码在 C# 中编写了一个典型的 winforms 业务应用程序。我的“托管”应用程序中有多少实际上是“非托管”的?

最佳答案

Let's say I write a typical winforms business application in C# using only managed code. How much of my "managed" application is really "unmanaged" under the covers?

在 Windows 窗体中,几乎所有内容都是托管 Windows API 的精简包装器。 Windows 窗体控件甚至通过 Handle property 公开其 native 控件句柄.

也就是说,如果您使用 WPF,例如,更多的底层逻辑是用托管代码编写的。当然,在某种程度上,事情总是由操作系统决定——但框架的大部分内容(WPF、WCF 等)都是用托管代码编写的更高级别的抽象,构建在围绕 native API 的较低级别包装器之上。

话虽如此,托管代码与原生核心的级别差异很大,具体取决于所讨论的类型。不过,这样做的美妙之处在于,使用 .NET,您真的不必关心底层实现是 native 实现还是托管实现,只需关心它是否是需要通过 IDisposable 或类似。

关于.net - .NET Framework 对 Windows API 的依赖程度如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6751574/

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