在C#中,MVC 3中的方法上面的括号是什么?
[ErrorHandler, SomethingHere]
public function Test() {
}
答案 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
上阅读更多内容