以下是我的部分课程:
// File - DesignController.cs
[Authorize]
public partial class DesignerController : ApiController
{
// Some Code
}
[Authorize]
public partial class DesignerController
{
// Some Code
}
我需要理解类的[Authorize]或类似属性的用法,将它放在一个部分类定义上或者所有它们都可以使用它是否正常。当前代码正在编译,但我需要了解上述实现的运行时问题
答案 0 :(得分:6)
在部分类上,属性在编译时合并,所以是的,你可以只在一个类上使用它。
示例:
[Obsolete]
public partial class Foo {}
[Authorize]
public partial class Foo {}
编译为:
[Obsolete]
[Authorize]
public partial class Foo {}
有关此问题的详细信息,请查看MSDN: Partial classes and methods
答案 1 :(得分:2)
您可以多次将同一属性应用于某个类,这就是它编译的原因。所以您的代码是等同于
[Authorize]
[Authorize]
public class DesignerController
{
// Some Code
}
如果不打算这样做,你应该从其中一个声明中删除该属性。