将属性应用于Partial类

时间:2014-11-11 11:14:27

标签: c# .net

以下是我的部分课程:

// File - DesignController.cs

[Authorize]
public partial class DesignerController : ApiController
{
   // Some Code
}

[Authorize]
public partial class DesignerController
{
   // Some Code
}

我需要理解类的[Authorize]或类似属性的用法,将它放在一个部分类定义上或者所有它们都可以使用它是否正常。当前代码正在编译,但我需要了解上述实现的运行时问题

2 个答案:

答案 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
}

如果不打算这样做,你应该从其中一个声明中删除该属性。