diff options
Diffstat (limited to 'csharp/src/ProtocolBuffers/ExtensionRegistryLite.cs')
-rw-r--r-- | csharp/src/ProtocolBuffers/ExtensionRegistryLite.cs | 18 |
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 +}
|