diff --git a/NewLife.Core/Common/Utility.cs b/NewLife.Core/Common/Utility.cs
index 4690bca..475f019 100644
--- a/NewLife.Core/Common/Utility.cs
+++ b/NewLife.Core/Common/Utility.cs
@@ -119,6 +119,8 @@ namespace System
// 特殊处理时间,转Unix秒
if (value is DateTime dt)
{
+ if (dt == DateTime.MinValue) return 0;
+
//// 先转UTC时间再相减,以得到绝对时间差
//return (Int32)(dt.ToUniversalTime() - _dt1970).TotalSeconds;
return (Int32)(dt - _dt1970).TotalSeconds;
@@ -282,7 +284,7 @@ namespace System
return defaultValue;
}
// 特殊处理整数,Unix秒,绝对时间差,不考虑UTC时间和本地时间。
- if (value is Int32 k) return _dt1970.AddSeconds(k);
+ if (value is Int32 k) return k == 0 ? DateTime.MinValue : _dt1970.AddSeconds(k);
if (value is Int64 m)
{
if (m > 100 * 365 * 24 * 3600L)
diff --git a/NewLife.Core/Serialization/Binary/Binary.cs b/NewLife.Core/Serialization/Binary/Binary.cs
index aed0f58..375c90b 100644
--- a/NewLife.Core/Serialization/Binary/Binary.cs
+++ b/NewLife.Core/Serialization/Binary/Binary.cs
@@ -112,7 +112,7 @@ namespace NewLife.Serialization
/// <param name="value">目标对象</param>
/// <param name="type">类型</param>
/// <returns></returns>
- [DebuggerHidden]
+ //[DebuggerHidden]
public virtual Boolean Write(Object value, Type type = null)
{
if (type == null)
@@ -213,7 +213,7 @@ namespace NewLife.Serialization
/// <summary>读取指定类型对象</summary>
/// <param name="type"></param>
/// <returns></returns>
- [DebuggerHidden]
+ //[DebuggerHidden]
public virtual Object Read(Type type)
{
//var value = type.CreateInstance();
@@ -226,14 +226,14 @@ namespace NewLife.Serialization
/// <summary>读取指定类型对象</summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
- [DebuggerHidden]
+ //[DebuggerHidden]
public T Read<T>() => (T)(Object)Read(typeof(T));
/// <summary>尝试读取指定类型对象</summary>
/// <param name="type"></param>
/// <param name="value"></param>
/// <returns></returns>
- [DebuggerHidden]
+ //[DebuggerHidden]
public virtual Boolean TryRead(Type type, ref Object value)
{
if (Hosts.Count == 0) WriteLog("BinaryRead {0} {1}", type.Name, value);
diff --git a/NewLife.Core/Serialization/Binary/BinaryGeneral.cs b/NewLife.Core/Serialization/Binary/BinaryGeneral.cs
index 23f9282..6ef8e6c 100644
--- a/NewLife.Core/Serialization/Binary/BinaryGeneral.cs
+++ b/NewLife.Core/Serialization/Binary/BinaryGeneral.cs
@@ -446,7 +446,7 @@ namespace NewLife.Serialization
#region 字符串
/// <summary>从当前流中读取下一个字符,并根据所使用的 Encoding 和从流中读取的特定字符,提升流的当前位置。</summary>
/// <returns></returns>
- public virtual Char ReadChar() { return Convert.ToChar(ReadByte()); }
+ public virtual Char ReadChar() => Convert.ToChar(ReadByte());
/// <summary>从当前流中读取一个字符串。字符串有长度前缀,一次 7 位地被编码为整数。</summary>
/// <returns></returns>
@@ -454,8 +454,8 @@ namespace NewLife.Serialization
{
// 先读长度
var n = Host.ReadSize();
- if (n < 0) return null;
- if (n == 0) return String.Empty;
+ if (n <= 0) return null;
+ //if (n == 0) return String.Empty;
var buffer = ReadBytes(n);