0

在 C# 中,在 MVC 3 中的方法上方调用的那些括号是什么?

[ErrorHandler, SomethingHere]
public function Test() {


}
4

5 回答 5

5

不知道你所说的“那些括号”是什么意思。函数前面是一个属性。

微软 MSDN:System.Attribute

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

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

于 2012-11-15T19:19:54.030 回答
3

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

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

你可以创建你的自定义属性

于 2012-11-15T19:33:53.990 回答
2

属性

它推断出 Attribute 一词,因此您的示例与以下内容同义:

[ErrorHandlerAttribute, SomethingHereAttribute]
public function Test() {
于 2012-11-15T19:20:24.053 回答
2

MVC 运行时使用反射来查找属性。然后 MVC 使用这些关于定位属性的信息来查找方法将如何执行,安全限制是什么等等

于 2012-11-15T19:22:53.300 回答
1

这些被称为方法属性。您可以在msdn 网站上阅读更多内容

于 2012-11-15T19:20:17.487 回答