首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

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

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也会被这样的描述,这样在反射的时候就可以区分别的类了。

热点排行