Errore del compilatore CS0182

Aggiornamento: novembre 2007

Messaggio di errore

L'argomento di un attributo deve essere un'espressione costante, un'espressione typeof o un'espressione per la creazione di matrici di un tipo di parametro per l'attributo
An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type

Per i tipi di argomenti che è possibile utilizzare con gli attributi si applicano determinate restrizioni. Si noti che oltre alle restrizioni specificate nei messaggi di errore, i tipi seguenti NON sono consentiti come argomenti di attributi:

Per ulteriori informazioni, vedere Attributi globali (Guida per programmatori C#).

Esempio

Il seguente codice di esempio genera l'errore CS0182:

// CS0182.cs
public class MyClass
{
    static string s = "Test";

    [System.Diagnostics.ConditionalAttribute(s)]   // CS0182
    // try the following line instead
    // [System.Diagnostics.ConditionalAttribute("Test")]
    void NonConstantArgumentToConditional()
    {
    }

    public static void Main()
    {
    }
}