读书人

C#方法名前的方括号是干嘛用的呀?该如

发布时间: 2012-02-06 15:52:44 作者: rapoo

C#方法名前的方括号是干嘛用的呀?
我们经常会看到一些C#代码的方法名前有一个方括号,里面有一行文字,如:

1、序列化:
[Serializable]
public void 方法名(){...}

2、WebServices方法:
[WebMethod]
public void 方法名(){...}

3、Ajax(AjaxPro)方法:
[AjaxPro.AjaxMethod]
public void 方法名(){...}

4、其他还有很多,如Duwamish7里的:
[Browsable(false)]
public void 方法名(){...}


请问这些方括号干嘛用的呀?编译器怎样处理它们的呀?如何应用?


[解决办法]
这是一个特性类
http://blog.csdn.net/ojekleen/archive/2007/09/18/1789673.aspx
[解决办法]
特性,用于程序集、类、方法、属性、事件、字段、参数、返回值等的自描述
编译器将特性像狗皮膏药一样贴在目标上,以便于其他程序通过反射查找这些信息
(有的特性是Clr直接处理的,比如Serializable、MethodImpl等)
[解决办法]
就是用来描述该方法所具有的属性,这些类都是通过Atrrbuite类的派生类,
有些Class也会被这样的描述,这样在反射的时候就可以区分别的类了。

读书人网 >C#

热点推荐