0

我创建了一个新的 mvc 4 项目(剃须刀引擎),但我不确定一件事。

有一个过滤器:

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public sealed class InitializeSimpleMembershipAttribute : ActionFilterAttribute
{
...
}

并且有一个使用该过滤器的控制器:

[InitializeSimpleMembership]
public class AccountController : Controller
{
...
}

为什么使用InitializeSimpleMembership而不是InitializeSimpleMembershipAttribute可以正常工作?

4

1 回答 1

3

17.1.1 属性用法

这个例子

[Simple] class Class1 {...}
[Simple] interface Interface1 {...}

显示了 Simple 属性的几种用法。虽然这个属性是用名称 SimpleAttribute 定义的,但是当使用这个属性时,可以省略 Attribute 后缀,导致简称为 Simple。因此,上面的示例在语义上等价于以下示例:

[SimpleAttribute] class Class1 {...}
[SimpleAttribute] interface Interface1 {...}

编辑:为了更加清楚,如果您想知道命名约定,17.1 属性类

按照惯例,属性类以 Attribute 后缀命名。属性的使用可以包括或省略这个后缀。

于 2013-11-11T21:09:26.123 回答