gpt4 book ai didi

.net - 什么是全局方法?

转载 作者:行者123 更新时间:2023-12-04 08:38:31 24 4
gpt4 key购买 nike

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

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

最佳答案

很难用熟悉的术语谈论这一点,这种能力根本没有在 C# 或 VB.NET 语言中公开。然而,C++/CLI 编译器使用它。它在 Ildasm.exe 或 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/3796688/

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