什么呢支架代表P /调用函数[DllImport
问题描述:
我很好奇,想知道为什么当我们在做的P/Invoke 的dllimport的呼叫的是“[” 并不仅仅是一个类或函数什么呢支架代表P /调用函数[DllImport
例如:
[DllImport("something.dll",....)]
而不是
DllImport("something.dll,....)
甚至
DllImport.import(something.dll...)
我不想重写它,我的问题是“[”表示或意味着什么?在这种情况下称为什么?为什么使用?
答
在这种情况下,它表示一个“属性”; DllImportAttribute
(MSDN)。简单地说:这是用于向代码添加元数据的语言。
该语言允许您定义自己的属性或来自库的任何属性。属性可用于程序集,类型,方法,属性,字段,事件,参数等 - 或者仅限于其中的一小部分。例如,DllImportAttribute
限于方法。大多数情况下,在运行时使用反射进行检查时才有意义,但有些则由编译器直接处理。
+0
哈,好笑,我忘了属性存在。 :P谢谢你们。 +1两个亚。 – 2012-02-07 19:38:10
答
DllImport不是一种方法。这是一个属性。括号只是应用属性的语法。
语法在C#规范的附录B的B.2.13节的属性中指定。
只是一个属性,http://msdn.microsoft.com/en-us/library/z0w1kczw(v=vs.80).aspx – Joe 2012-02-07 19:30:51