1
这是我的代码,用于检查值是否可以转换为给定类型。具有自定义日期格式的C#类型转换器
public static object TryParseObject<T>(object valueObject)
{
string value = null;
try
{
value = Convert.ToString(valueObject);
var converter = TypeDescriptor.GetConverter(typeof(T));
if (converter != null)
{
//Cast ConvertFromString(string text) : object to (T)
return (T)converter.ConvertFromString(value);
}
return default(T);
}
catch
{
//Can't parse
}
}
这是可行的,因为它应该是。现在我需要从日期字符串转换为仅具有自定义格式的DateTime
(比如格式为“MM.DD.YYYY HH:mm:ss”)。我怎样才能做到这一点?
我应该单独处理DateTime场景吗?如:
if(typeof(T) == typeof(DateTime)) {...}
else {...}
我正在寻找,看看我是否可以使用现有的代码,几乎没有变化。谢谢。
我觉得单独的方法会更好,但这种方法已经存在'DateTime.TryParseExact'。 – Fabio
TryParseExact的参考https://msdn.microsoft.com/zh-cn/library/ms131044(v=vs.110).aspx – kurakura88