Mit TypeConverter.ConvertFromString()
, ich brauche ein benutzerdefiniertes Format zu liefern, wenn Daten aus einem String-Parsing (zum Beispiel mit DateTime
: "ddMMyyyy"
oder "MMMM dd, yyyy"
).Parsing-Strings in benutzerdefinierten Formaten TypeConverter.ConvertFromString()
TypeConverter.ConvertFromString()
hat die folgende Überlast:
public object ConvertFromString(ITypeDescriptorContext context,
CultureInfo culture,
string text);
ich auf MSDN über ITypeDescriptorContext
up geprüft.
Die ITypeDescriptorContext-Schnittstelle bietet Kontextinformationen über eine Komponente. ITypeDescriptorContext wird normalerweise in Entwurfszeit verwendet, um Informationen zu einem Entwurfszeitcontainer bereitzustellen. Diese Schnittstelle wird häufig bei der Typkonvertierung verwendet.
Das klingt wie das, was ich brauche, aber ich kann keine Beispiele nirgendwo finden.
ich die folgende generische Methode verwende:
public T ParseValue<T>(string value)
{
return (T)TypeDescriptor.GetConverter(typeof(T)).ConvertFromString(value);
}
Beispiel Telefonvorwahl:
DateTime date = ParseValue<DateTime>("02062001");
decimal amount = ParseValue<decimal>("1.3423");
ich eine Art generische Formatierung Informationen in dieser ParseValue()
Methode in der Lage sein zu analysieren, die sein kann, verwendet von ConvertFromString()
.
@ Bob- Weil ich manchmal von einem String zu anderen Datentypen (nicht nur 'DateTime') analysieren werde. Ich brauche 'TypeDescriptor', damit ich zur Laufzeit den passenden Parsing-Mechanismus bekomme. – davenewza
Ich bin verwirrt, möchten Sie eine DateTime, die als String dargestellt wird, in andere Datentypen konvertieren? So wie zu einem int? –
@ Bob- Ich habe meinen Beitrag mit mehr Codebeispielen bearbeitet. Danke – davenewza