Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Interfaccia IFormatProvider

Offre un meccanismo per recuperare un oggetto di controllo della formattazione.

Spazio dei nomi:  System
Assembly:  mscorlib (in mscorlib.dll)

[ComVisibleAttribute(true)]
public interface class IFormatProvider

Il tipo IFormatProvider espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetFormatRestituisce un oggetto che fornisce servizi di formattazione per il tipo specificato.
In alto

L'interfaccia IFormatProvider fornisce un oggetto che riporta informazioni sulla formattazione per operazioni di formattazione e di analisi. Le operazioni di formattazione convertono il valore di un tipo nella rappresentazione in forma di stringa di tale valore. Metodi di formattazione tipici sono i metodi ToString di un tipo e Format. Le operazioni di analisi convertono la rappresentazione in forma di stringa di un valore in un tipo di tale valore. Metodi di analisi tipici sono: Parse e TryParse.

L'interfaccia IFormatProvider è costituita da un solo metodo, IFormatProvider::GetFormat. GetFormat è un metodo di callback: il metodo di analisi o formattazione chiama tale metodo passandogli un oggetto Type che rappresenta il tipo di oggetto previsto dal metodo di formattazione o di analisi per fornire informazioni sulla formattazione. Il metodo GetFormat è responsabile della restituzione di un oggetto di quel tipo.

Le implementazioni IFormatProvider sono spesso utilizzate in modo implicito dai metodi di formattazione ed analisi. Ad esempio, il metodo DateTime::ToString(String) utilizza implicitamente un'implementazione IFormatProvider che rappresenta le impostazioni cultura correnti del sistema. Le implementazioni IFormatProvider possono essere specificate anche in modo esplicito da metodi che dispongono di un parametro di tipo IFormatProvider, ad esempio Int32::Parse(String, IFormatProvider) e String::Format(IFormatProvider, String, array<Object>).

.NET Framework include le seguenti tre implementazioni predefinite IFormatProvider per fornire informazioni specifiche sulle impostazioni cultura utilizzate per la formattazione o analisi di valori numerici e di valori data e ora:

.NET Framework supporta anche la formattazione personalizzata. Ciò comporta in genere la creazione di una classe di formattazione che implementa sia IFormatProvider sia ICustomFormatter. Un'istanza di questa classe viene quindi passata come parametro a un metodo che esegue un'operazione di formattazione personalizzata, ad esempio String::Format(IFormatProvider, String, array<Object>). Nell'esempio viene illustrata tale implementazione personalizzata che formatta un numero come numero account a 12 cifre.

Nell'esempio seguente viene illustrato come un'implementazione IFormatProvider può modificare la rappresentazione di un valore di data e ora. In questo caso, viene visualizzata una singola data tramite oggetti CultureInfo che rappresentano quattro impostazioni cultura diverse.

Non sono attualmente disponibili esempi di codice o questo linguaggio potrebbe non essere supportato.

Nell'esempio seguente viene illustrato l'utilizzo di una classe che implementa l'interfaccia IFormatProvider e il metodo GetFormat. La classe AcctNumberFormat converte un valore Int64 che rappresenta un numero account in un numero account a 12 cifre formattato. Il metodo GetFormat restituisce un riferimento all'istanza AcctNumberFormat corrente se il parametro formatType fa riferimento a una classe che implementa ICustomFormatter; in caso contrario, GetFormat restituisce riferimento null (Nothing in Visual Basic).

Non sono attualmente disponibili esempi di codice o questo linguaggio potrebbe non essere supportato.

La classe che implementa IFormatProvider può quindi essere utilizzata in una chiamata a un'operazione di formattazione e analisi. Ad esempio, il codice seguente chiama il metodo String::Format(IFormatProvider, String, array<Object>) per generare una stringa che contiene un numero account a 12 cifre formattato.

Non sono attualmente disponibili esempi di codice o questo linguaggio potrebbe non essere supportato.

.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato 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 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft