소스 검색

Fix RepeatedExtensionValue.IsInitialized

Sydney Acksman 6 년 전
부모
커밋
b78330b21d
1개의 변경된 파일17개의 추가작업 그리고 1개의 파일을 삭제
  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()
         {
-            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;
         }
     }
 }