Was ist eine elegante Möglichkeit, gängige Formate (z. B. datetime) für string.format in zugängliche Konstanten zu übertragen?DRY-String-Formatierung
Idealerweise möchte ich etwas wie das Folgende machen, aber ich bekomme den untenstehenden Fehler, wenn ich versuche, diesen Code zu verwenden.
var now = DateTime.Now;
var format = "yyyy-MM-dd";
Console.WriteLine(string.Format("The date is {1:{0}}", format, now));
[System.FormatException. Eingabezeichenfolge in einem korrekten Format not] bei Program.Main(): Zeile 9
Der Grund hierfür ist, dass bestimmte API erfordert eine spezifisches Datetime-Format. Ich möchte in der Lage sein, einen einzelnen Ort zu referenzieren, um dieses Format zu erhalten, so dass alle oder keine der Anrufe funktionieren.
Ich weiß, dass das Folgende funktioniert, aber es scheint nicht sehr elegant.
Console.WriteLine(string.Format("The date is {1:" + format + "}", format, now));
Haben Sie eine begrenzte Liste von Datumsformate Sie unterstützen müssen? –
@YuriyRozhovetskiy vorerst ja, obwohl es einige Zeit dauern würde, alle aufzuzählen. –