|
|
|
@ -84,20 +84,14 @@ namespace Google.ProtocolBuffers { |
|
|
|
|
|
|
|
|
|
public override bool IsInitialized { |
|
|
|
|
get { |
|
|
|
|
/* if (!DescriptorForType.HasRequiredFields) { |
|
|
|
|
return true; |
|
|
|
|
}*/ |
|
|
|
|
// Check that all required fields are present. |
|
|
|
|
foreach (FieldDescriptor field in DescriptorForType.Fields) { |
|
|
|
|
// Check that all required fields are present. |
|
|
|
|
if (field.IsRequired && !HasField(field)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Check that embedded messages are initialized. |
|
|
|
|
// This code is similar to that in AbstractMessage, but we don't |
|
|
|
|
// fetch all the field values - just the ones we need to. |
|
|
|
|
foreach (FieldDescriptor field in DescriptorForType.Fields) { |
|
|
|
|
// Check that embedded messages are initialized. |
|
|
|
|
// This code is similar to that in AbstractMessage, but we don't |
|
|
|
|
// fetch all the field values - just the ones we need to. |
|
|
|
|
if (field.MappedType == MappedType.Message) { |
|
|
|
|
if (field.IsRepeated) { |
|
|
|
|
// We know it's an IList<T>, but not the exact type - so |
|
|
|
|