我TryParse
为以下Nullable
类型编写了重载的静态方法:int?
, short?
, long?
, double?
, DateTime?
, decimal?
, float?
, bool?
,byte?
和char?
. 下面是一些实现:
protected static bool TryParse(string input, out int? value)
{
int outValue;
bool result = Int32.TryParse(input, out outValue);
value = outValue;
return result;
}
protected static bool TryParse(string input, out short? value)
{
short outValue;
bool result = Int16.TryParse(input, out outValue);
value = outValue;
return result;
}
protected static bool TryParse(string input, out long? value)
{
long outValue;
bool result = Int64.TryParse(input, out outValue);
value = outValue;
return result;
}
每种方法的逻辑都是相同的,只是它们使用不同的类型。难道不能使用泛型,这样我就不需要那么多冗余代码了吗?签名将如下所示:
bool TryParse<T>(string input, out T value);
谢谢