aboutsummaryrefslogtreecommitdiff
path: root/csharp/ProtocolBuffers/GeneratedMessage.cs
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2008-08-14 20:35:17 +0100
committerJon Skeet <skeet@pobox.com>2008-08-14 20:35:17 +0100
commita03ea11c522e68e49764c05bcdb90cd838f0fd9c (patch)
treedab8ae1d603826f13eef671e3920baff05de7e4c /csharp/ProtocolBuffers/GeneratedMessage.cs
parent4d276b6c7c3a6ea771eb11d4b359f185b7b7a229 (diff)
downloadprotobuf-a03ea11c522e68e49764c05bcdb90cd838f0fd9c.tar.gz
protobuf-a03ea11c522e68e49764c05bcdb90cd838f0fd9c.tar.bz2
protobuf-a03ea11c522e68e49764c05bcdb90cd838f0fd9c.zip
Finish implementing GeneratedBuilder.
Diffstat (limited to 'csharp/ProtocolBuffers/GeneratedMessage.cs')
-rw-r--r--csharp/ProtocolBuffers/GeneratedMessage.cs14
1 files changed, 13 insertions, 1 deletions
diff --git a/csharp/ProtocolBuffers/GeneratedMessage.cs b/csharp/ProtocolBuffers/GeneratedMessage.cs
index c22b9416..f43e2e9d 100644
--- a/csharp/ProtocolBuffers/GeneratedMessage.cs
+++ b/csharp/ProtocolBuffers/GeneratedMessage.cs
@@ -1,5 +1,7 @@
using System;
+using System.Collections;
using System.Collections.Generic;
+using System.IO;
using Google.ProtocolBuffers.Collections;
using Google.ProtocolBuffers.Descriptors;
using Google.ProtocolBuffers.FieldAccess;
@@ -14,7 +16,7 @@ namespace Google.ProtocolBuffers {
public abstract class GeneratedMessage<TMessage, TBuilder> : AbstractMessage, IMessage<TMessage>
where TMessage : GeneratedMessage<TMessage, TBuilder> where TBuilder : IBuilder<TMessage> {
- private readonly UnknownFieldSet unknownFields = UnknownFieldSet.DefaultInstance;
+ private UnknownFieldSet unknownFields = UnknownFieldSet.DefaultInstance;
protected internal abstract FieldAccessorTable InternalFieldAccessors { get; }
@@ -72,5 +74,15 @@ namespace Google.ProtocolBuffers {
public override UnknownFieldSet UnknownFields {
get { return unknownFields; }
}
+
+ /// <summary>
+ /// Replaces the set of unknown fields for this message. This should
+ /// only be used before a message is built, by the builder. (In the
+ /// Java code it is private, but the builder is nested so has access
+ /// to it.)
+ /// </summary>
+ internal void SetUnknownFields(UnknownFieldSet fieldSet) {
+ unknownFields = fieldSet;
+ }
}
}