方括号之间的文本含义

Ana*_*hah 13 c# attributes

我已经看到了很多的使用C#程序[],例如[STAThread],然后将代码如下.另一个经典的例子是[DLLImport].

我知道是什么STAThread意思,但我的问题是方括号的意义是什么,基本上它们告诉编译器的是什么?

cod*_*ape 17

这是一个属性.属性是一种元数据形式,可以附加到各种代码元素:类,方法,程序集等.

一些属性对C#编译器有特殊意义,例如,[Serializable]可能告诉编译器发出一些可以序列化类实例的代码(我说'可能',因为我不知道C#编译器的内部工作原理).

您还可以创建自己的属性(通过继承System.Attribute).然后使用反射,您可以在运行时从属性中提取信息.

一个简单的例子是创建一个属性,以指定在显示对象属性时在HTML表单中使用哪种输入字段.

一些链接: