gpt4 book ai didi

.net - 什么是全局方法?

转载 作者:太空宇宙 更新时间:2023-11-03 15:51:51 25 4
gpt4 key购买 nike

.net 中的全局方法是什么?我说的是 ModuleBuilder.DefineGlobalMethod 创建的那些方法。

可以从 C# 或其他 .net 语言调用这些方法吗?

最佳答案

很难用熟悉的术语谈论这个,这个功能根本没有在 C# 或 VB.NET 语言中公开。然而,C++/CLI 编译器使用它。它在 Ildasm.exe 或 Reflector 等反汇编程序中的显示方式也未标准化。

也许最好的角度是 Reflector,看看 System.Data.dll 程序集。它位于未命名的命名空间中(Reflector 中的“-”),<Module>节点。您看到的 .cctor 有一个模块初始值设定项。与静态类构造函数相同,但在模块级别。它在程序集加载时运行。 C++/CLI 使用它来初始化 C 运行时库。

您发现的 ___CxxCallUnwindDtor() 方法是“全局方法”的示例。 C++/CLI 语言没有提供任何方法来公开这些类型的函数,它们总是嵌入在具有内部可访问性的元数据中。因此不能直接从 C# 或 VB.NET 程序中调用。我对 ModuleBuilder 玩得还不够多,无法知道除了 C++/CLI 之外,它是否还能被搞乱。这一切都非常晦涩难懂,实际上没有那么有用。

关于.net - 什么是全局方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25475378/

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