Refactor IsInitialized to match Java version

pull/288/head
Jon Skeet 16 years ago
parent 4cf9e3c619
commit 828510cdbd
  1. 14
      src/ProtocolBuffers/GeneratedMessage.cs
  2. 1
      todo.txt

@ -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

@ -2,7 +2,6 @@ Current task list (not in order)
Diff stuff
- Refactor IsInitialized
- Performance framework
- Optionally remove dependencies to core and csharp options
- Remove multifile support

Loading…
Cancel
Save