gpt4 book ai didi

c# - 导入 DLL 时,为什么必须将方法声明为静态和外部?

转载 作者:行者123 更新时间:2023-11-30 20:59:06 25 4
gpt4 key购买 nike

正如标题所问,当您导入一个 DLL(例如 User32.dll)并声明方法以调用该 DLL 上的方法时,为什么需要将这些方法声明为 Static 和 Extern。

I.E,这是从另一个 StackOverflow 答案中提取的,但演示了我的要求。

[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, UIntPtr dwExtraInfo);

最佳答案

static - 因为它们不需要类的实例,所以这些方法是对系统 API 的调用,不需要任何初始化,可以在静态/非静态 block 中使用

extern - extern 修饰符用于声明在外部实现的方法。由于 API 方法未在类文件本身中声明,extern 告诉编译器该方法在别处声明。

关于c# - 导入 DLL 时,为什么必须将方法声明为静态和外部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15618113/

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