gpt4 book ai didi

c# - 使用 TypeConverter.ConvertFromString() 解析自定义格式的字符串

转载 作者:太空狗 更新时间:2023-10-29 20:36:46 26 4
gpt4 key购买 nike

使用 TypeConverter.ConvertFromString(),我需要在从字符串解析数据时提供自定义格式(例如,使用 DateTime:"ddMMyyyy"“MMMM dd, yyyy”)。

TypeConverter.ConvertFromString() 具有以下重载:

public object ConvertFromString(ITypeDescriptorContext context, 
CultureInfo culture,
string text);

我查看了 MSDN关于 ITypeDescriptorContext

The ITypeDescriptorContext interface provides contextual information about a component. ITypeDescriptorContext is typically used at design time to provide information about a design-time container. This interface is commonly used in type conversion.

这听起来像是我需要使用的,但我无法在任何地方找到任何示例。

我正在使用以下通用方法:

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() 使用。

最佳答案

您可以创建一个自定义 CultureInfo 来保存您的格式。

另一种解决方案是在一些辅助方法中包装转换,这些辅助方法将使用 DateTime.Parse 处理日期,使用 TypeConverter 处理其他类型。

关于c# - 使用 TypeConverter.ConvertFromString() 解析自定义格式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16193355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com