【发布时间】:2021-02-10 12:46:50
【问题描述】:
我需要更改此代码以在早期版本的 c# 上工作 在下面的代码中如何改变这样的条件
if (value is TimeSpan ts)
到更早的 c# ?
string parsedValue;
bool parsed;
if (value == DateTime d && d >= BaseDate)
{
parsedValue = d.ToOADate().ToInvariantString();
parsed = true;
SetDateTimeFormat(style, d.Date == d);
}
else if (value is TimeSpan ts)
{
parsedValue = ts.TotalDays.ToInvariantString();
parsed = true;
SetTimeSpanFormat(style);
}
else if (value is Boolean b)
{
parsedValue = b ? "1" : "0";
_dataType = XLDataType.Boolean;
parsed = true;
}
同样在下面的代码中
private static Boolean TryGetBasicValue<T, U>(String currentValue, ParseFunction<U> parseFunction, out T value)
{
if (parseFunction.Invoke(currentValue, NumberStyles.Any, null, out U result))
{
value = (T)Convert.ChangeType(result, typeof(T).GetUnderlyingType());
return true;
}
value = default;
return false;
}
如何更改 c# 7
value = default;
到早期的 c# 代码?
【问题讨论】: