ServiceStack Redisクライアントのバグ

2850 ワード

client.Set("key", 0);
          
    redis         ,   0
private static byte[] ToBytes<T>(T value)

{

    var bytesValue = value as byte[];

    if (bytesValue == null && !Equals(value, default(T)))

        bytesValue = value.ToJson().ToUtf8Bytes();

    return bytesValue;

}

問題はこのdefault(T)にある.
intのdefaultは0なのでnullを返します
この理屈で、私がfalseに入れたら、彼はboolのdefaultで、空白の文字で、実験してみたら本当に
if (bytesValue == null &&(value is ValueType || !Equals(value, default(T))))

簡単に直しましょう.
 
 
ServiceStackのこのクライアントをしばらく使った後、彼の中にはまだ問題があることに気づいた.
これだけで有料です