(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

IFormatProvider-Schnittstelle

Stellt einen Mechanismus für das Abrufen eines Objekts zur Steuerung der Formatierung bereit.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

[ComVisibleAttribute(true)]
public interface class IFormatProvider

Der IFormatProvider-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetFormatGibt ein Objekt zurück, das Formatierungsdienste für den angegebenen Typ bereitstellt.
Zum Seitenanfang

Die IFormatProvider-Schnittstelle gibt ein Objekt an, das Formatierungsinformationen für Formatierungs- und Analysevorgänge bereitstellt. Mit Formatierungsvorgängen wird der Wert eines Typs in die Zeichenfolgendarstellung dieses Werts konvertiert. Typische Formatierungsmethoden sind die ToString-Methoden eines Typs sowie Format. Mit Analyseoperationen wird die Zeichenfolgendarstellung eines Werts in einen Typ mit diesem Wert konvertiert. Typische Analysemethoden sind Parse und TryParse.

Die IFormatProvider-Schnittstelle besteht aus einer einzigen Methode, IFormatProvider::GetFormat. GetFormat ist eine Rückrufmethode: Die Analyse- oder Formatierungsmethode ruft diese auf und übergibt an diese ein Type-Objekt, das den Typ von Objekt darstellt, von dem die Formatierungs- oder Analysemethode Formatierungsinformationen erwartet. Die GetFormat-Methode ist zuständig für das Zurückgeben eines Objekts dieses Typs.

IFormatProvider -Implementierungen werden implizit oft von Formatierungs- und Analysemethoden verwendet. Zum Beispiel verwendet die DateTime::ToString(String)-Methode implizit eine IFormatProvider-Implementierung, die die aktuelle Kultur des Systems darstellt. IFormatProvider -Implementierungen können auch explizit von Methoden angegeben werden, die über einen Parameter des Typs IFormatProvider verfügen, z. B. Int32::Parse(String, IFormatProvider) und String::Format(IFormatProvider, String, array<Object>).

.NET Framework schließt die folgenden drei vordefinierten IFormatProvider-Implementierungen ein, um kulturspezifische Informationen bereitzustellen, die bei der Formatierung oder dem Analysieren von numerischen und Datums- und Uhrzeitwerten verwendet werden:

.NET Framework unterstützt auch benutzerdefinierte Formatierung. Dies schließt meist die Erstellung einer Formatierungsklasse ein, die IFormatProvider und auch ICustomFormatter implementiert. Eine Instanz dieser Klasse wird dann als Parameter an eine Methode übergeben, die einen benutzerdefinierten Formatierungsvorgang ausführt, z. B. String::Format(IFormatProvider, String, array<Object>). In dem Beispiel wird eine Abbildung so einer benutzerdefinierten Implementierung bereitgestellt, die eine Zahl als zwölfstellige Kontonummer formatiert.

Im folgenden Beispiel wird veranschaulicht, wie eine IFormatProvider-Implementierung die Darstellung eines Datums- und Uhrzeitwerts ändern kann. In diesem Fall wird ein einzelnes Datum mit CultureInfo-Objekten angezeigt, die vier verschiedene Kulturen darstellen.

Derzeit ist kein Code Beispiel verfügbar, oder die Sprache wird nicht unterstützt.

Das folgende Codebeispiel veranschaulicht die Verwendung einer Klasse, die die IFormatProvider-Schnittstelle und die GetFormat-Methode implementiert. Die AcctNumberFormat-Klasse konvertiert einen Int64-Wert, der eine Kontonummer darstellt, in eine formatierte Kontonummer mit 12 Ziffern. Die zugehörige GetFormat-Methode gibt einen Verweise auf die aktuelle AcctNumberFormat-Instanz zurück, wenn der formatType-Parameter auf eine Klasse verweist, die ICustomFormatter implementiert, andernfalls gibt GetFormatein Nullverweis (Nothing in Visual Basic) zurück.

Derzeit ist kein Code Beispiel verfügbar, oder die Sprache wird nicht unterstützt.

Die Klasse, die IFormatProvider implementiert, kann anschließend in einem Aufruf eines Formatierungs- und Analysevorgangs verwendet werden. Im folgenden Code wird beispielsweise die String::Format(IFormatProvider, String, array<Object>)-Methode aufgerufen, um eine Zeichenfolge zu generieren, die eine formatierte Kontonummer mit 12 Ziffern enthält.

Derzeit ist kein Code Beispiel verfügbar, oder die Sprache wird nicht unterstützt.

.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft