diff options
Diffstat (limited to 'src/ProtocolBuffers/DynamicMessage.cs')
-rw-r--r-- | src/ProtocolBuffers/DynamicMessage.cs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/ProtocolBuffers/DynamicMessage.cs b/src/ProtocolBuffers/DynamicMessage.cs index 4b3a4060..16a7f319 100644 --- a/src/ProtocolBuffers/DynamicMessage.cs +++ b/src/ProtocolBuffers/DynamicMessage.cs @@ -296,7 +296,7 @@ namespace Google.ProtocolBuffers { } public override DynamicMessage Build() { - if (!IsInitialized) { + if (fields != null && !IsInitialized) { throw new UninitializedMessageException(new DynamicMessage(type, fields, unknownFields)); } return BuildPartial(); @@ -315,6 +315,9 @@ namespace Google.ProtocolBuffers { } public override DynamicMessage BuildPartial() { + if (fields == null) { + throw new InvalidOperationException("Build() has already been called on this Builder."); + } fields.MakeImmutable(); DynamicMessage result = new DynamicMessage(type, fields, unknownFields); fields = null; |