Compiler Error CS0579

重复“attribute”特性

不可能多次指定相同的特性,除非特性在其 AttributeUsage 中指定 AllowMultiple=true

下面的示例会产生 CS0579。

// CS0579.cs
using System;
public class MyAttribute : Attribute
{
}

[AttributeUsage(AttributeTargets.All,AllowMultiple=true)]
public class MyAttribute2 : Attribute
{
}

public class z
{
    [MyAttribute, MyAttribute]     // CS0579
    public void zz()
    {
    }

    [MyAttribute2, MyAttribute2]   // OK
    public void zzz()
    {
    }

    public static void Main()
    {
    }
}