Wenn ich versuche, Konstanten in dieser C# -Anwendung zu verwenden. Wenn ich über den Debugger laufen, kommen die Konstanten als „unknown identifier“ bis Heres den CodeUnbekannte Kennung bei Verwendung von Konstanten C#
public static class ConstsConfig
{
public static string BASE_URL_FORMAT = "%s://%s%s";
}
public static class NetworkConfig
{
public static string PROTOCOL = "http";
public static string HOST = "www.example.com";
public static string BASE_URL = "/test";
}
Code Das ist die Linie, wo seine Auswertung nicht wie
Uri uri = new Uri(String.Format(ConstsConfig.BASE_URL_FORMAT, NetworkConfig.PROTOCOL, NetworkConfig.HOST, NetworkConfig.BASE_URL)));
wenn So scheint i Schritt durch den Debugger und brechen Sie diese Zeile. Wenn Sie über eine der Konstanten hoever. Es sagt nur „Unknown Kennung ConstsConfig“ oder „Uknown Kennung NetworkConfig“
Ich würde es ist etwas klein vorstellen. Danke für die Hilfe im Voraus.
Der Debugger 'live eval' kann ... knifflig sein. Wie auch immer, wenn es keinen * Kompilierfehler * oder * Ausnahme * gibt, dann funktioniert der Code, unabhängig von der 'live eval'. – user2864740
Konvention in C# ist ** nicht **, um Konstanten Großbuchstaben zu geben, auch wenn diese als unveränderliche Werte gemeint sind, dann verwenden Sie entweder 'public const String' oder 'public static readonly String'. – Dai
Klingt wie ein Problem mit dem Debugger. Ich würde empfehlen, nur einen sauberen Rebuild durchzuführen und/oder VS neu zu starten. Ihr Debugger hängt zur Laufzeit in Ihren Code ein, er kann Probleme haben, die IL mit Ihrer Quelle zu korrelieren, es bedeutet nicht, dass mit der Quelle etwas nicht in Ordnung ist. – evanmcdonnal