Browse Source

Fix RepeatedExtensionValue.IsInitialized

Sydney Acksman 6 years ago
parent
commit
b78330b21d
1 changed files with 17 additions and 1 deletions
  1. 17 1
      csharp/src/Google.Protobuf/ExtensionValue.cs

+ 17 - 1
csharp/src/Google.Protobuf/ExtensionValue.cs

@@ -213,7 +213,23 @@ namespace Google.Protobuf
 
 
         public bool IsInitialized()
         public bool IsInitialized()
         {
         {
-            return field.All(m => m is IMessage && (m as IMessage).IsInitialized());
+            for (int i = 0; i < field.Count; i++)
+            {
+                var element = field[i];
+                if (element is IMessage)
+                {
+                    if (!(element as IMessage).IsInitialized())
+                    {
+                        return false;
+                    }
+                }
+                else
+                {
+                    break;
+                }
+            }
+
+            return true;
         }
         }
     }
     }
 }
 }