aboutsummaryrefslogtreecommitdiff
path: root/csharp/src/Google.Protobuf/FieldCodec.cs
diff options
context:
space:
mode:
authorJie Luo <jieluo@google.com>2017-12-19 11:54:11 -0800
committerJie Luo <jieluo@google.com>2017-12-19 15:38:02 -0800
commitb308580bb1c3f87a062ac1448a3e0bdaab9d40cf (patch)
treeea211f27b3deb05a9ba5461079288020a11b5c8d /csharp/src/Google.Protobuf/FieldCodec.cs
parent3a06fe1fc9590b534f403114a0668befba926947 (diff)
downloadprotobuf-b308580bb1c3f87a062ac1448a3e0bdaab9d40cf.tar.gz
protobuf-b308580bb1c3f87a062ac1448a3e0bdaab9d40cf.tar.bz2
protobuf-b308580bb1c3f87a062ac1448a3e0bdaab9d40cf.zip
Cherrypick for csharp, including:
Add preserve UnknownFields Compare floating point values bitwise Add auto-generated header to C# generated files
Diffstat (limited to 'csharp/src/Google.Protobuf/FieldCodec.cs')
-rw-r--r--csharp/src/Google.Protobuf/FieldCodec.cs4
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);
}
}