P/invoke [dllimport 中的括号代表什么

发布于 2025-01-03 17:59:24 字数 328 浏览 0 评论 0原文

我很好奇为什么当我们进行 P/invoke 时 dllimport 调用位于“[”中 而不仅仅是一个类或函数,

例如:

[DllImport("something.dll",....)]

而不是

DllImport("something.dll,....)

或者甚至

DllImport.import(something.dll...)

我不想重写它,我的问题是“[”代表或意味着什么?在这种情况下它叫什么?为什么使用它?

I am curious to know why when we are doing P/invoke
the dllimport call is in a "["
and not just a class or a function

e.g.:

[DllImport("something.dll",....)]

rather than

DllImport("something.dll,....)

or even

DllImport.import(something.dll...)

I do not want to rewrite it, my questions is what does "[" represent or mean ? what is it called in this instance ? Why is it used ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

彼岸花ソ最美的依靠 2025-01-10 17:59:24

在这种情况下,它表示“属性”; DllImportAttribute (MSDN)。简单地说:它是语言中已有的语法,用于将元数据添加到代码中。

该语言允许您定义自己的属性或库中的任何属性。属性可用于程序集、类型、方法、属性、字段、事件、参数等,或仅限于其中的一小部分。例如,DllImportAttribute 仅限于方法。大多数仅在运行时使用反射检查时才有意义,但有些由编译器直接处理。

In this context, it signifies an "attribute"; DllImportAttribute (MSDN). Simply : it is a syntax already in the language for adding metadata to the code.

The language allows you to define your own attributes, or any from libraries. Attributes can be used on assemblies, types, methods, properties, fields, events, parameters, etc - or restricted to a small subset of that. DllImportAttribute is limited to methods, for example. Most only have meaning when inspected with reflection at runtime, but some re handled directly by the compiler.

装迷糊 2025-01-10 17:59:24

DllImport 不是一种方法。它是一个属性。括号只是应用属性的语法。

C# 规范附录 B 的 B.2.13 节“属性”中指定了语法。

DllImport is not a method. It is an attribute. The brackets are just the syntax for applying attributes.

The syntax is specified in appendix B of the C# specification, section B.2.13, Attributes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文