Поделиться через


Ошибка компилятора CS0633

Обновлен: Ноябрь 2007

Сообщение об ошибке

Аргумент для атрибута "атрибут" должен быть допустимым идентификатором
The argument to the 'attribute' attribute must be a valid identifier

Любой аргумент, передаваемый атрибутам ConditionalAttribute и IndexerNameAttribute, должен представлять собой допустимый идентификатор. Это означает, что в нем не должны содержаться знаки, использование которых не допускается в идентификаторах, например "+".

Пример

В этом примере демонстрируется создание ошибки CS0633 с помощью атрибута ConditionalAttribute. В примере возникает ошибка CS0633.

// CS0633a.cs
#define DEBUG
using System.Diagnostics;
public class Test
{
   [Conditional("DEB+UG")]   // CS0633
   // try the following line instead
   // [Conditional("DEBUG")]
   public static void Main() { }
}

В этом примере демонстрируется создание ошибки CS0633 с помощью атрибута IndexerNameAttribute.

// CS0633b.cs
// compile with: /target:module
#define DEBUG
using System.Runtime.CompilerServices;
public class Test
{
   [IndexerName("Invalid+Identifier")]   // CS0633
   // try the following line instead
   // [IndexerName("DEBUG")]
   public int this[int i] 
   { 
      get { return i; } 
   }
}