diff options
author | Jisi Liu <liujisi@google.com> | 2017-12-19 17:45:56 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-19 17:45:56 -0800 |
commit | d106399d39a3a5719f1e3d8b5997a4437eb83af3 (patch) | |
tree | 0b247a1d9a5fb782e432f1a17bb8eb90a4bdf24f /csharp/src/Google.Protobuf/FieldCodec.cs | |
parent | 6c3c7f6d5d68433af01c5ca500978c2d69f15212 (diff) | |
parent | b308580bb1c3f87a062ac1448a3e0bdaab9d40cf (diff) |
Merge pull request #4072 from google/jieluo
Cherrypick for csharp, including:
Diffstat (limited to 'csharp/src/Google.Protobuf/FieldCodec.cs')
-rw-r--r-- | csharp/src/Google.Protobuf/FieldCodec.cs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/csharp/src/Google.Protobuf/FieldCodec.cs b/csharp/src/Google.Protobuf/FieldCodec.cs index c28b47e1..a11f2420 100644 --- a/csharp/src/Google.Protobuf/FieldCodec.cs +++ b/csharp/src/Google.Protobuf/FieldCodec.cs @@ -30,6 +30,7 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #endregion +using Google.Protobuf.Collections; using Google.Protobuf.Compatibility; using Google.Protobuf.WellKnownTypes; using System; @@ -346,6 +347,7 @@ namespace Google.Protobuf /// </remarks> public sealed class FieldCodec<T> { + private static readonly EqualityComparer<T> EqualityComparer = ProtobufEqualityComparers.GetEqualityComparer<T>(); private static readonly T DefaultDefault; // Only non-nullable value types support packing. This is the simplest way of detecting that. private static readonly bool TypeSupportsPacking = default(T) != null; @@ -469,6 +471,6 @@ namespace Google.Protobuf /// </summary> public int CalculateSizeWithTag(T value) => IsDefault(value) ? 0 : ValueSizeCalculator(value) + tagSize; - private bool IsDefault(T value) => EqualityComparer<T>.Default.Equals(value, DefaultValue); + private bool IsDefault(T value) => EqualityComparer.Equals(value, DefaultValue); } } |