Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将属性应用于分部类_C#_.net - Fatal编程技术网

C# 将属性应用于分部类

C# 将属性应用于分部类,c#,.net,C#,.net,以下是我的部分课程: // File - DesignController.cs [Authorize] public partial class DesignerController : ApiController { // Some Code } [Authorize] public partial class DesignerController { // Some Code } 我需要了解[Authorize]或类似属性在类上的用法,是否可以只在部分类定义中的一个上使用

以下是我的部分课程:

// File - DesignController.cs

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

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

我需要了解[Authorize]或类似属性在类上的用法,是否可以只在部分类定义中的一个上使用它,或者所有的部分类定义中都使用它。当前代码正在编译,但我需要了解上述实现在部分类上的运行时问题。这些属性在编译时合并,因此是的,您只能在一个类上使用它

例如:

[Obsolete]
public partial class Foo {}

[Authorize]
public partial class Foo {}
汇编至:

[Obsolete]
[Authorize]
public partial class Foo {}

有关这方面的更多信息,请参见

您可以对一个类多次应用相同的属性,这就是它编译的原因

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

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

只有当该属性允许对一个成员进行多个定义时(即
AllowMultiple=true
),这才是正确的。