Эх сурвалжийг харах

Fix RepeatedExtensionValue.IsInitialized

Sydney Acksman 6 жил өмнө
parent
commit
b78330b21d

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

@@ -213,7 +213,23 @@ namespace Google.Protobuf
 
         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;
         }
     }
 }