CS0617 de erro do compilador

Mensagem de erro

'referência' não é um argumento de atributo nomeado válido porque não é um tipo de parâmetro de atributo válido

Houve uma tentativa de acessar um particular membro de uma classe de atributos.

Exemplo

O exemplo a seguir gera CS0617.

// CS0617.cs
using System;

[AttributeUsage(AttributeTargets.Struct | 
                AttributeTargets.Class |
                AttributeTargets.Interface)]
public class MyClass : Attribute
{
   public int Name;

   public MyClass (int sName)
   {
      Name = sName;
      Bad = -1;
      Bad2 = -1;
   }

   public readonly int Bad;
   public int Bad2;
}

[MyClass(5, Bad=0)] class Class1 {}   // CS0617
[MyClass(5, Bad2=0)] class Class2 {}