Default Formate für Typen Einrichten
Vom Framework her bieten wir für verschiedene Typen Default Formate an. Diese können in der Applikation überschrieben werden.
Default Formate
Einige Formate sind Abhängig von der Culture. Die Basis ist die Implementation in System.Globalization
https://learn.microsoft.com/en-us/dotnet/api/system.globalization
Typ | Format | Beispiel Default für |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(Unabhängig von der Culture) |
|
|
(Unabhängig von der Culture) |
|
|
(Unabhängig von der Culture) |
|
|
(Unabhängig von der Culture) |
|
Formate überschreiben
Direkt Ableiteten von MetaTypeDefaultFormat
MetaTypeDefaultFormats
stellt die virtuelle Methode GetFormatStringForCulture()
zur Verfügung die Überschrieben werden kann.
Interface implementieren
Implementation des Interfaces IMetaTypeDefaultFormats
Beispiel um DateTime
und Time
ohne Sekunden darzustellen:
public class MyAppMetaTypeDefaultFormats : IMetaTypeDefaultFormats
{
public MyAppMetaTypeDefaultFormats ([NotNull] MetaTypeDefaultFormats fallbackDefaultFormats)
{
_fallbackDefaultFormats = fallbackDefaultFormats;
}
/// <inheritdoc />
public string GetFormatStringForCulture(MetaType metaType, CultureInfo culture)
{
var result = _fallbackDefaultFormats.GetFormatStringForCulture(metaType, culture);
switch (metaType)
{
case MetaType.Time:
case MetaType.DateTime:
result = result.Replace(":ss", null);
break;
}
return result;
}
[NotNull]
private readonly MetaTypeDefaultFormats _fallbackDefaultFormats;
}
Registration im Startup über die Services möglich
services.AddSingleton<IMetaTypeDefaultFormats, MyAppMetaTypeDefaultFormats>();