55 Stimmen

Instanzmitglieder können in einer statischen Klasse in C# nicht deklariert werden

Ich habe eine public static class und ich versuche, auf Folgendes zuzugreifen appSettings aus meiner app.config-Datei in C# und ich erhalte den im Titel beschriebenen Fehler.

public static class employee
{
    NameValueCollection appSetting = ConfigurationManager.AppSettings;    
}

Wie bringe ich das zum Laufen?

1voto

Dustin Hodges Punkte 4110

Wie John Weldon sagte, müssen alle Mitglieder in einer statischen Klasse statisch sein. Versuchen Sie

public static class employee
{
     static NameValueCollection appSetting = ConfigurationManager.AppSettings;    

}

1voto

3Dave Punkte 27742
public static class Employee
{
    public static string SomeSetting
    {
        get 
        {
            return ConfigurationManager.AppSettings["SomeSetting"];    
        }
    }
}

Deklarieren Sie die Eigenschaft ebenfalls als statisch. Machen Sie sich auch nicht die Mühe, einen privaten Verweis auf ConfigurationManager.AppSettings zu speichern. ConfigurationManager ist bereits eine statische Klasse.

Wenn Sie das Gefühl haben, dass Sie muss einen Verweis auf appsettings zu speichern, versuchen Sie

public static class Employee
{
    private static NameValueCollection _appSettings=ConfigurationManager.AppSettings;

    public static NameValueCollection AppSettings { get { return _appSettings; } }

}

Es gehört zum guten Ton, immer eine explizite Zugriffsangabe zu machen (privat, öffentlich usw.), auch wenn der Standardwert privat ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X