使用TypeConverter.ConvertFromString()
,我需要從字符串解析數據時提供自定義格式(例如,與DateTime
:"ddMMyyyy"
或"MMMM dd, yyyy"
)。解析串
TypeConverter.ConvertFromString()
具有以下過載:
public object ConvertFromString(ITypeDescriptorContext context,
CultureInfo culture,
string text);
我檢查上MSDN約ITypeDescriptorContext
。
ITypeDescriptorContext接口提供關於組件的上下文信息 。 ITypeDescriptorContext通常用於設計 時間以提供關於設計時容器的信息。這種接口通常用於類型轉換。
這聽起來像我需要使用但我找不到任何地方的任何例子。
我使用下面的泛型方法:
public T ParseValue<T>(string value)
{
return (T)TypeDescriptor.GetConverter(typeof(T)).ConvertFromString(value);
}
實例調用代碼:
DateTime date = ParseValue<DateTime>("02062001");
decimal amount = ParseValue<decimal>("1.3423");
我希望能夠解析某種通用格式的信息到這個ParseValue()
方法可以是使用ConvertFromString()
。
@ Bob-因爲有時候我會將字符串解析爲其他數據類型(不僅僅是'DateTime')。我需要使用'TypeDescriptor',以便在運行時獲得適當的解析機制。 – davenewza 2013-04-24 13:51:55
我很困惑,你想將一個DateTime轉換爲其他數據類型嗎?所以喜歡int? – 2013-04-24 13:56:02
@ Bob-我用更多的代碼示例編輯了我的帖子。謝謝 – davenewza 2013-04-24 14:05:27