aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--csharp/src/ProtocolBuffers/ExtensionRegistryLite.cs18
1 files changed, 15 insertions, 3 deletions
diff --git a/csharp/src/ProtocolBuffers/ExtensionRegistryLite.cs b/csharp/src/ProtocolBuffers/ExtensionRegistryLite.cs
index d1220e9c..cc4a50bb 100644
--- a/csharp/src/ProtocolBuffers/ExtensionRegistryLite.cs
+++ b/csharp/src/ProtocolBuffers/ExtensionRegistryLite.cs
@@ -96,7 +96,7 @@ namespace Google.ProtocolBuffers
{
private static readonly ExtensionRegistry empty = new ExtensionRegistry(
new ExtensionByNameMap(),
- new ExtensionByIdMap(),
+ new ExtensionByIdMap(new ExtensionIntPairEqualityComparer()),
true);
private readonly ExtensionByNameMap extensionsByName;
@@ -116,7 +116,7 @@ namespace Google.ProtocolBuffers
/// </summary>
public static ExtensionRegistry CreateInstance()
{
- return new ExtensionRegistry(new ExtensionByNameMap(), new ExtensionByIdMap(), false);
+ return new ExtensionRegistry(new ExtensionByNameMap(), new ExtensionByIdMap(new ExtensionIntPairEqualityComparer()), false);
}
public ExtensionRegistry AsReadOnly()
@@ -216,5 +216,17 @@ namespace Google.ProtocolBuffers
return msgType.Equals(other.msgType) && number == other.number;
}
}
+
+ internal class ExtensionIntPairEqualityComparer : IEqualityComparer<ExtensionIntPair>
+ {
+ public bool Equals(ExtensionIntPair x, ExtensionIntPair y)
+ {
+ return x.Equals(y);
+ }
+ public int GetHashCode(ExtensionIntPair obj)
+ {
+ return obj.GetHashCode();
+ }
+ }
}
-} \ No newline at end of file
+}