aboutsummaryrefslogtreecommitdiff
path: root/src/ProtocolBuffers/CustomSerialization.cs
diff options
context:
space:
mode:
authorcsharptest <roger@csharptest.net>2011-09-20 13:17:03 -0500
committerrogerk <devnull@localhost>2011-09-20 13:17:03 -0500
commitaeb30d8351f33350d58e6795b16c4f861939f4e3 (patch)
tree447abfb7d24599fa632e50cf0e7ff88465a9e619 /src/ProtocolBuffers/CustomSerialization.cs
parentef4af57b119dfab849a7d07203f1e3ae6d5d7f89 (diff)
downloadprotobuf-aeb30d8351f33350d58e6795b16c4f861939f4e3.tar.gz
protobuf-aeb30d8351f33350d58e6795b16c4f861939f4e3.tar.bz2
protobuf-aeb30d8351f33350d58e6795b16c4f861939f4e3.zip
changes from review
Diffstat (limited to 'src/ProtocolBuffers/CustomSerialization.cs')
-rw-r--r--src/ProtocolBuffers/CustomSerialization.cs22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/ProtocolBuffers/CustomSerialization.cs b/src/ProtocolBuffers/CustomSerialization.cs
index 940d3c80..5af673ad 100644
--- a/src/ProtocolBuffers/CustomSerialization.cs
+++ b/src/ProtocolBuffers/CustomSerialization.cs
@@ -45,7 +45,7 @@ namespace Google.ProtocolBuffers
{
/*
* Specialized handing of *all* message types. Messages are serialized into a byte[] and stored
- * into the SerializationInfo, they are then reconstituded by an IObjectReference class after
+ * into the SerializationInfo, and are then reconstituted by an IObjectReference class after
* deserialization. IDeserializationCallback is supported on both the Builder and Message.
*/
[Serializable]
@@ -71,22 +71,23 @@ namespace Google.ProtocolBuffers
_initialized = info.GetBoolean("initialized");
}
- Object IObjectReference.GetRealObject(StreamingContext context)
+ object IObjectReference.GetRealObject(StreamingContext context)
{
ExtensionRegistry registry = context.Context as ExtensionRegistry;
TBuilder builder = TemplateInstance.DefaultInstanceForType.CreateBuilderForType();
builder.MergeFrom(_message, registry ?? ExtensionRegistry.Empty);
- if (builder is IDeserializationCallback)
+ IDeserializationCallback callback = builder as IDeserializationCallback;
+ if(callback != null)
{
- ((IDeserializationCallback) builder).OnDeserialization(context);
+ callback.OnDeserialization(context);
}
TMessage message = _initialized ? builder.Build() : builder.BuildPartial();
-
- if (message is IDeserializationCallback)
+ callback = message as IDeserializationCallback;
+ if (callback != null)
{
- ((IDeserializationCallback) message).OnDeserialization(context);
+ callback.OnDeserialization(context);
}
return message;
@@ -119,15 +120,16 @@ namespace Google.ProtocolBuffers
_message = (byte[])info.GetValue("message", typeof(byte[]));
}
- Object IObjectReference.GetRealObject(StreamingContext context)
+ object IObjectReference.GetRealObject(StreamingContext context)
{
ExtensionRegistry registry = context.Context as ExtensionRegistry;
TBuilder builder = TemplateInstance.DefaultInstanceForType.CreateBuilderForType();
builder.MergeFrom(_message, registry ?? ExtensionRegistry.Empty);
- if (builder is IDeserializationCallback)
+ IDeserializationCallback callback = builder as IDeserializationCallback;
+ if(callback != null)
{
- ((IDeserializationCallback) builder).OnDeserialization(context);
+ callback.OnDeserialization(context);
}
return builder;