C#功能前缀属性名称?

时间:2012-11-15 19:18:03

标签: c#

在C#中,MVC 3中的方法上面的括号是什么?

[ErrorHandler, SomethingHere]
public function Test() {


}

5 个答案:

答案 0 :(得分:5)

不确定“括号”是什么意思。该函数前面的是属性。

Microsoft MSDN: System.Attribute

并在使用方面进行了一些扩展:

  

属性是一个注释,可以放在源代码元素上,用于在编译时存储特定于应用程序的信息。此信息存储在元数据中,可以在应用程序执行期间,通过称为反射的过程或其他工具读取元数据时访问。属性可能会在执行期间更改应用程序的行为,提供有关对象的事务信息,或将组织信息传达给设计人员。 gnu.org

答案 1 :(得分:3)

这些被称为Attributes。属性是一个继承自抽象类System.Attribute的类。按照惯例,所有属性都有一个以“Attribute”结尾的类名。以下是一些MVC3属性:

   AcceptViewAttribute
   ActionFilterAttribute
   ActionMethodSelectorAttribute
   ActionNameAttribute
   ActionNameSelectorAttribute
   AuthorizeAttribute
   BindAttribute
   CustomModelBinderAttribute
   FilterAttribute
   HandleErrorAttribute
   HiddenInputAttribute
   HttpDeleteAttribute
   HttpGetAttribute
   HttpPostAttribute
   HttpPutAttribute
   ModelBinderAttribute
   NonActionAttribute
   OutputCacheAttribute
   RequireHttpsAttribute
   ValidateAntiForgeryTokenAttribute
   ValidateInputAttribute

您可以创建Custom Attributes

答案 2 :(得分:2)

属性

它推断出属性一词,因此您的示例与:

同义
[ErrorHandlerAttribute, SomethingHereAttribute]
public function Test() {

答案 3 :(得分:2)

MVC运行时使用Reflection来查找属性。然后MVC使用有关所定位属性的信息来查找方法的执行方式,安全限制是什么等等

答案 4 :(得分:1)

那些被称为方法属性。您可以在msdn site

上阅读更多内容