2016-06-06 5 views
0

zugewiesen wird. Ich habe die Adresse des Endpunkts eines Webdienstes und habe diese in die Konfigurationsdatei aufgenommen. Wenn ich versuche, das zu lesen und es einer Variablen zuzuordnen, kann ich diese Variable nicht als Konstante haben. Was mache ich?Die Zeichenfolge kann nicht konstant bleiben, wenn die Adresse aus der Konfigurationsdatei

Konfigurationsdatei

<appSettings> <add key="KYCService" value="address"> <appSettings> C# -Code:

string uri = System.Configuration.ConfigurationManager.AppSettings["KYCService"];

ich will uri eine konstante Variable

+2

Konstanten müssen zum Zeitpunkt der Kompilierung ausgewertet werden. Ihre Konfiguration wird erst zur Laufzeit gelesen und kann daher nicht konstant sein. Das Beste, was Sie tun könnten, ist, wenn "uri" ein Feld ist, können Sie es als "readonly" markieren. –

+1

Warum möchten Sie, dass es überhaupt eine Konstante ist? Du könntest es 'static readonly' machen –

+0

... oder eine Eigenschaft machen, die nur einen Getter hat. – atlaste

Antwort

2

A konstant sein mit der const Schlüsselwort bei der Kompilierung bekannt sein muss.

Ein konstanter Ausdruck ist ein Ausdruck, der zur Kompilierzeit vollständig ausgewertet werden kann.

Die Einstellungen aus der Konfigurationsdatei werden nur zur Laufzeit geladen. Es kann also nie ein const sein.

Sie können static readonly in Ihrem Fall verwenden.

Verwandte Themen