private Version(int versionNumber, int[] alignmentPatternCenters, ECBlocks ecBlocks1, ECBlocks ecBlocks2, ECBlocks ecBlocks3, ECBlocks ecBlocks4) { this.versionNumber = versionNumber; this.alignmentPatternCenters = alignmentPatternCenters; this.ecBlocks = new ECBlocks[] { ecBlocks1, ecBlocks2, ecBlocks3, ecBlocks4 }; int total = 0; int ecCodewords = ecBlocks1.GetECCodewordsPerBlock(); ECB[] ecbArray = ecBlocks1.GetECBlocks(); for (int i = 0; i < ecbArray.Length; i++) { ECB ecBlock = ecbArray[i]; total += ecBlock.GetCount() * (ecBlock.GetDataCodewords() + ecCodewords); } this.totalCodewords = total; }