Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe TypeConverter

 

Data di pubblicazione: novembre 2016

Fornisce un modo unificato di conversione di tipi di valori per altri tipi, nonché per l'accesso ai valori standard e sottoproprietà.

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

System.Object
  System.ComponentModel.TypeConverter
    Microsoft.VisualBasic.Activities.XamlIntegration.VisualBasicSettingsConverter
    Microsoft.VisualBasic.ApplicationServices.BuiltInRoleConverter
    System.Activities.XamlIntegration.AssemblyReferenceConverter
    System.Activities.XamlIntegration.DynamicUpdateMapConverter
    System.Activities.XamlIntegration.DynamicUpdateMapItemConverter
    System.Activities.XamlIntegration.ImplementationVersionConverter
    System.Activities.XamlIntegration.TypeConverterBase
    System.Activities.XamlIntegration.WorkflowIdentityConverter
    System.ComponentModel.BaseNumberConverter
    System.ComponentModel.BooleanConverter
    System.ComponentModel.CharConverter
    System.ComponentModel.CollectionConverter
    System.ComponentModel.CultureInfoConverter
    System.ComponentModel.DateTimeConverter
    System.ComponentModel.DateTimeOffsetConverter
    System.ComponentModel.EnumConverter
    System.ComponentModel.ExpandableObjectConverter
    System.ComponentModel.GuidConverter
    System.ComponentModel.MultilineStringConverter
    System.ComponentModel.NullableConverter
    System.ComponentModel.ReferenceConverter
    System.ComponentModel.StringConverter
    System.ComponentModel.TimeSpanConverter
    System.ComponentModel.TypeListConverter
    System.Configuration.ConfigurationConverterBase
    System.Diagnostics.Design.LogConverter
    System.Drawing.ColorConverter
    System.Drawing.FontConverter
    System.Drawing.FontConverter.FontNameConverter
    System.Drawing.ImageConverter
    System.Drawing.ImageFormatConverter
    System.Drawing.PointConverter
    System.Drawing.RectangleConverter
    System.Drawing.SizeConverter
    System.Drawing.SizeFConverter
    System.Resources.ResXFileRef.Converter
    System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicyTypeConverter
    System.ServiceModel.Discovery.Configuration.DiscoveryVersionConverter
    System.ServiceModel.XamlIntegration.EndpointIdentityConverter
    System.ServiceModel.XamlIntegration.ServiceXNameTypeConverter
    System.ServiceModel.XamlIntegration.XPathMessageContextTypeConverter
    System.UriTypeConverter
    System.Web.Configuration.LowerCaseStringConverter
    System.Web.UI.Design.DataBindingCollectionConverter
    System.Web.UI.Design.DataColumnSelectionConverter
    System.Web.UI.Design.DataFieldConverter
    System.Web.UI.Design.DataMemberConverter
    System.Web.UI.Design.DataSourceConverter
    System.Web.UI.Design.DataSourceViewSchemaConverter
    System.Web.UI.Design.ExpressionsCollectionConverter
    System.Web.UI.Design.MobileControls.Converters.DataFieldConverter
    System.Web.UI.Design.MobileControls.Converters.DataMemberConverter
    System.Web.UI.Design.SkinIDTypeConverter
    System.Web.UI.Design.WebControls.DataSourceIDConverter
    System.Web.UI.WebControls.FontNamesConverter
    System.Web.UI.WebControls.FontUnitConverter
    System.Web.UI.WebControls.StringArrayConverter
    System.Web.UI.WebControls.UnitConverter
    System.Windows.Controls.DataGridLengthConverter
    System.Windows.Controls.Ribbon.RibbonControlLengthConverter
    System.Windows.Controls.Ribbon.StringCollectionConverter
    System.Windows.Controls.VirtualizationCacheLengthConverter
    System.Windows.CornerRadiusConverter
    System.Windows.CultureInfoIetfLanguageTagConverter
    System.Windows.DeferrableContentConverter
    System.Windows.DialogResultConverter
    System.Windows.DurationConverter
    System.Windows.DynamicResourceExtensionConverter
    System.Windows.ExpressionConverter
    System.Windows.FigureLengthConverter
    System.Windows.FontSizeConverter
    System.Windows.FontStretchConverter
    System.Windows.FontStyleConverter
    System.Windows.FontWeightConverter
    System.Windows.Forms.AxHost.StateConverter
    System.Windows.Forms.CursorConverter
    System.Windows.Forms.DataGridPreferredColumnWidthTypeConverter
    System.Windows.Forms.DataGridViewCellStyleConverter
    System.Windows.Forms.KeysConverter
    System.Windows.Forms.Layout.TableLayoutSettingsTypeConverter
    System.Windows.Forms.LinkArea.LinkAreaConverter
    System.Windows.Forms.LinkConverter
    System.Windows.Forms.ListBindingConverter
    System.Windows.Forms.OpacityConverter
    System.Windows.Forms.PaddingConverter
    System.Windows.Forms.ScrollableControl.DockPaddingEdgesConverter
    System.Windows.Forms.SelectionRangeConverter
    System.Windows.Forms.TreeNodeConverter
    System.Windows.GridLengthConverter
    System.Windows.Input.CommandConverter
    System.Windows.Input.CursorConverter
    System.Windows.Input.InputScopeConverter
    System.Windows.Input.InputScopeNameConverter
    System.Windows.Input.KeyConverter
    System.Windows.Input.KeyGestureConverter
    System.Windows.Input.ModifierKeysConverter
    System.Windows.Input.MouseActionConverter
    System.Windows.Input.MouseGestureConverter
    System.Windows.Int32RectConverter
    System.Windows.KeySplineConverter
    System.Windows.KeyTimeConverter
    System.Windows.LengthConverter
    System.Windows.Markup.DependencyPropertyConverter
    System.Windows.Markup.EventSetterHandlerConverter
    System.Windows.Markup.NameReferenceConverter
    System.Windows.Markup.RoutedEventConverter
    System.Windows.Markup.SetterTriggerConditionValueConverter
    System.Windows.Markup.TemplateKeyConverter
    System.Windows.Markup.XmlLanguageConverter
    System.Windows.Media.Animation.RepeatBehaviorConverter
    System.Windows.Media.BrushConverter
    System.Windows.Media.CacheModeConverter
    System.Windows.Media.ColorConverter
    System.Windows.Media.Converters.BaseIListConverter
    System.Windows.Media.DoubleCollectionConverter
    System.Windows.Media.FontFamilyConverter
    System.Windows.Media.GeometryConverter
    System.Windows.Media.ImageSourceConverter
    System.Windows.Media.Int32CollectionConverter
    System.Windows.Media.MatrixConverter
    System.Windows.Media.Media3D.Matrix3DConverter
    System.Windows.Media.Media3D.Point3DCollectionConverter
    System.Windows.Media.Media3D.Point3DConverter
    System.Windows.Media.Media3D.Point4DConverter
    System.Windows.Media.Media3D.QuaternionConverter
    System.Windows.Media.Media3D.Rect3DConverter
    System.Windows.Media.Media3D.Size3DConverter
    System.Windows.Media.Media3D.Vector3DCollectionConverter
    System.Windows.Media.Media3D.Vector3DConverter
    System.Windows.Media.PathFigureCollectionConverter
    System.Windows.Media.PixelFormatConverter
    System.Windows.Media.PointCollectionConverter
    System.Windows.Media.RequestCachePolicyConverter
    System.Windows.Media.TransformConverter
    System.Windows.Media.VectorCollectionConverter
    System.Windows.PointConverter
    System.Windows.PropertyPathConverter
    System.Windows.RectConverter
    System.Windows.SizeConverter
    System.Windows.StrokeCollectionConverter
    System.Windows.TemplateBindingExpressionConverter
    System.Windows.TemplateBindingExtensionConverter
    System.Windows.TextDecorationCollectionConverter
    System.Windows.ThicknessConverter
    System.Windows.VectorConverter
    System.Workflow.ComponentModel.Design.ActivityBindTypeConverter
    System.Xaml.Schema.XamlTypeTypeConverter

[ComVisibleAttribute(true)]
[HostProtectionAttribute(SecurityAction.LinkDemand, SharedState = true)]
public class TypeConverter

NomeDescrizione
System_CAPS_pubmethodTypeConverter()

Inizializza una nuova istanza della classe TypeConverter.

NomeDescrizione
System_CAPS_pubmethodCanConvertFrom(ITypeDescriptorContext, Type)

Restituisce un valore che indica se il convertitore può convertire un oggetto del tipo specificato nel tipo di questo convertitore, usando il contesto specificato.

System_CAPS_pubmethodCanConvertFrom(Type)

Restituisce se il convertitore può convertire un oggetto del tipo specificato per il tipo del convertitore.

System_CAPS_pubmethodCanConvertTo(ITypeDescriptorContext, Type)

Restituisce un valore che indica se il convertitore può convertire l'oggetto nel tipo specificato usando il contesto specificato.

System_CAPS_pubmethodCanConvertTo(Type)

Indica se il convertitore può convertire l'oggetto nel tipo specificato.

System_CAPS_pubmethodConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

Converte l'oggetto indicato nel tipo di questo convertitore usando il contesto e le informazioni sulle impostazioni cultura specificati.

System_CAPS_pubmethodConvertFrom(Object)

Converte il valore specificato per il tipo del convertitore.

System_CAPS_pubmethodConvertFromInvariantString(ITypeDescriptorContext, String)

Converte la stringa specificata per il tipo del convertitore, utilizzando le impostazioni cultura invarianti e il contesto specificato.

System_CAPS_pubmethodConvertFromInvariantString(String)

Converte la stringa specificata per il tipo del convertitore, utilizzando le impostazioni cultura invarianti.

System_CAPS_pubmethodConvertFromString(ITypeDescriptorContext, CultureInfo, String)

Converte il testo specificato in un oggetto, utilizzando le informazioni di contesto e le impostazioni cultura specificate.

System_CAPS_pubmethodConvertFromString(ITypeDescriptorContext, String)

Converte il testo specificato in un oggetto, utilizzando il contesto specificato.

System_CAPS_pubmethodConvertFromString(String)

Converte il testo specificato in un oggetto.

System_CAPS_pubmethodConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

Converte l'oggetto valore indicato nel tipo specificato, usando il contesto e le informazioni sulle impostazioni cultura specificati.

System_CAPS_pubmethodConvertTo(Object, Type)

Converte l'oggetto valore specificato nel tipo specificato, utilizzando gli argomenti.

System_CAPS_pubmethodConvertToInvariantString(ITypeDescriptorContext, Object)

Converte il valore specificato in una rappresentazione di stringa di impostazioni cultura invarianti, utilizzando il contesto specificato.

System_CAPS_pubmethodConvertToInvariantString(Object)

Converte il valore specificato in una rappresentazione di stringa di impostazioni cultura invarianti.

System_CAPS_pubmethodConvertToString(ITypeDescriptorContext, CultureInfo, Object)

Converte il valore specificato in una rappresentazione di stringa, utilizzando le informazioni di contesto e le impostazioni cultura specificate.

System_CAPS_pubmethodConvertToString(ITypeDescriptorContext, Object)

Converte il valore specificato in una rappresentazione di stringa, utilizzando il contesto specificato.

System_CAPS_pubmethodConvertToString(Object)

Converte il valore specificato in una rappresentazione di stringa.

System_CAPS_pubmethodCreateInstance(IDictionary)

Consente di ricreare un Object dato un set di valori di proprietà dell'oggetto.

System_CAPS_pubmethodCreateInstance(ITypeDescriptorContext, IDictionary)

Crea un'istanza del tipo a cui questo oggetto TypeConverter è associato, usando il contesto specificato, dato un set di valori di proprietà per l'oggetto.

System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object.)

System_CAPS_protmethodFinalize()

Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object.)

System_CAPS_protmethodGetConvertFromException(Object)

Restituisce un'eccezione da generare quando non è possibile eseguire una conversione.

System_CAPS_protmethodGetConvertToException(Object, Type)

Restituisce un'eccezione da generare quando non è possibile eseguire una conversione.

System_CAPS_pubmethodGetCreateInstanceSupported()

Restituisce se la modifica di un valore di questo oggetto richiede una chiamata al CreateInstance metodo per creare un nuovo valore.

System_CAPS_pubmethodGetCreateInstanceSupported(ITypeDescriptorContext)

Restituisce un valore che indica se la modifica di un valore di questo oggetto richiede una chiamata a CreateInstance per creare un nuovo valore, usando il contesto specificato.

System_CAPS_pubmethodGetHashCode()

Funge da funzione hash predefinita.(Ereditato da Object.)

System_CAPS_pubmethodGetProperties(ITypeDescriptorContext, Object)

Restituisce una raccolta di proprietà per il tipo di matrice specificato dal parametro del valore, utilizzando il contesto specificato.

System_CAPS_pubmethodGetProperties(ITypeDescriptorContext, Object, Attribute[])

Restituisce una raccolta di proprietà per il tipo di matrice specificato dal parametro del valore usando il contesto e gli attributi specificati.

System_CAPS_pubmethodGetProperties(Object)

Restituisce una raccolta di proprietà per il tipo di matrice specificato dal parametro value.

System_CAPS_pubmethodGetPropertiesSupported()

Indica se questo oggetto supporta proprietà.

System_CAPS_pubmethodGetPropertiesSupported(ITypeDescriptorContext)

Indica se questo oggetto supporta proprietà, usando il contesto specificato.

System_CAPS_pubmethodGetStandardValues()

Restituisce una raccolta di valori standard dal contesto predefinito per il tipo di dati che è progettato per questo convertitore.

System_CAPS_pubmethodGetStandardValues(ITypeDescriptorContext)

Restituisce una raccolta di valori standard per il tipo di dati per cui è progettato questo convertitore di tipo, quando viene fornito un contesto di formato.

System_CAPS_pubmethodGetStandardValuesExclusive()

Indica se la raccolta di valori standard restituiti dal metodo GetStandardValues rappresenta un elenco esclusivo.

System_CAPS_pubmethodGetStandardValuesExclusive(ITypeDescriptorContext)

Indica se la raccolta di valori standard restituiti da GetStandardValues rappresenta un elenco esclusivo di valori possibili utilizzando il contesto specificato.

System_CAPS_pubmethodGetStandardValuesSupported()

Indica se questo oggetto supporta un set standard di valori selezionabili da un elenco.

System_CAPS_pubmethodGetStandardValuesSupported(ITypeDescriptorContext)

Indica se questo oggetto supporta un set standard di valori selezionabili da un elenco utilizzando il contesto specificato.

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_pubmethodIsValid(ITypeDescriptorContext, Object)

Indica se l'oggetto valore specificato è valido per il tipo e per il contesto specificato.

System_CAPS_pubmethodIsValid(Object)

Indica se l'oggetto valore specificato è valido per questo tipo.

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.(Ereditato da Object.)

System_CAPS_protmethodSortProperties(PropertyDescriptorCollection, String[])

Ordina una raccolta di proprietà.

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object.)

Il tipo più comune di convertitore è quello che converte da e verso una rappresentazione di testo. Il convertitore di tipi per una classe è associato alla classe con un TypeConverterAttribute. A meno che non viene eseguito l'override di questo attributo, tutte le classi che ereditano da questa classe utilizzano lo stesso convertitore come classe di base.

System_CAPS_noteNota

Per scopi di tipo generale del sistema, non accedere un convertitore di tipi direttamente. Al contrario, accedere al convertitore appropriato tramite TypeDescriptor. Per ulteriori informazioni, vedere gli esempi di codice forniti.

Nota   per XAML, un processore XAML cerca il TypeConverterAttribute direttamente, anziché passare attraverso TypeDescriptor. Per i casi in cui si desidera un TypeDescriptor istanza dal codice o in cui si crea un'istanza condivisa in WPF risorse, è possibile costruire direttamente senza fare riferimento a TypeDescriptor o un altro sistema di reflection e tipo di supporto.

Le classi derivate da TypeConverter si fa spesso riferimento come parte delle modalità in cui un processore XAML converte un valore di testo dell'attributo o inizializzazione da markup (ad esempio una stringa) e genera un oggetto per una rappresentazione in fase di esecuzione. Gli autori dei tipi personalizzati che intendono supportare un comportamento di conversione di tipi per XAML in genere implementano una TypeConverter classe che supporta le proprie univoco ConvertFrom comportamento da una stringa. Questo comportamento consente la conversione di tipo dalla stringa fornita come valore dell'attributo XAML e fornisce un processore XAML con il supporto necessario per creare un oggetto dalla stringa, in modo che l'oggetto può essere prodotta in un oggetto grafico analizzato. Tipi personalizzati o i membri di tipi personalizzati vengono indicati applicando TypeConverterAttribute alle definizioni, con l'attributo di riferimento personalizzato TypeConverter implementazione. Per altre informazioni, vedere Type Converters for XAML Overview.

Note per gli eredi:

Ereditare da TypeConverter per implementare i propri requisiti di conversione. Quando si eredita da questa classe, è possibile sostituire i metodi seguenti:

System_CAPS_noteNota

Il tipo derivato potrebbe essere contrassegnato come internal o private, ma è possibile creare un'istanza del tipo con il TypeDescriptor (classe). Non scrivere il codice non sicuro, presupponendo il chiamante è attendibile. Si supponga invece che i chiamanti potrebbero creare istanze del tipo di livello di attendibilità parziale.

Per ulteriori informazioni sui convertitori di tipi per scopi generici (non XAML), vedere How to: Implement a Type Converter o Generalized Type Conversion.

Esempio di codice seguente viene illustrato come creare un'istanza di un convertitore di tipi e associarla a una classe. La classe che implementa il convertitore, MyClassConverter, deve ereditare la TypeConverter classe.

[TypeConverter(typeof(MyClassConverter))]
 public class MyClass {
    // Insert code here.
}

Quando si dispone di una proprietà dispone di un'enumerazione, verificare se un valore di enumerazione è valido prima di impostare la proprietà. Esempio di codice successivo è necessario che un'enumerazione denominata MyPropertyEnum è stato dichiarato.

public MyPropertyEnum MyProperty {
    set {
       // Checks to see if the value passed is valid.
       if (!TypeDescriptor.GetConverter(typeof(MyPropertyEnum)).IsValid(value)) {
          throw new ArgumentException();
       }
       // The value is valid. Insert code to set the property.
    }
 }

Un altro utilizzo di convertitore di tipo comune consiste nel convertire un oggetto in una stringa. Esempio di codice seguente viene stampato il nome del Color archiviato nella variabile c.

Color c = Color.Red;
    Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c));

È inoltre possibile utilizzare un convertitore di tipi per convertire un valore dal nome, come illustrato nell'esempio di codice successivo.

Color c = (Color)TypeDescriptor.GetConverter(typeof(Color)).ConvertFromString("Red");

Nell'esempio di codice seguente, è possibile utilizzare un convertitore di tipi per stampare il set di valori standard supportati dall'oggetto.

foreach(Color c in TypeDescriptor.GetConverter(typeof(Color)).GetStandardValues()) {
    Console.WriteLine(TypeDescriptor.GetConverter(c).ConvertToString(c));
 }

.NET Framework
Disponibile da 1.1
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: