ClassLibraryWeiBao/QR二维码/Versions/QRCodeVersion.cs

(完整代码) 1KB

namespace Gma.QrCodeNet.Encoding.Versions
{
	internal struct QRCodeVersion
	{
		internal int VersionNum { get; private set;}
		
		internal int TotalCodewords { get; private set;}
		
		internal int DimensionForVersion { get; private set;}
		
		private ErrorCorrectionBlocks[] m_ECBlocks;
		
		/// <param name="ecblocks1">L</param>
		/// <param name="ecblocks2">M</param>
		/// <param name="ecblocks3">Q</param>
		/// <param name="ecblocks4">H</param>
		internal QRCodeVersion(int versionNum, int totalCodewords, ErrorCorrectionBlocks ecblocksL, ErrorCorrectionBlocks ecblocksM, ErrorCorrectionBlocks ecblocksQ, ErrorCorrectionBlocks ecblocksH)
			: this()
		{
			this.VersionNum = versionNum;
			this.TotalCodewords = totalCodewords;
			this.m_ECBlocks = new ErrorCorrectionBlocks[]{ecblocksL, ecblocksM, ecblocksQ, ecblocksH};
			this.DimensionForVersion = 17 + versionNum * 4;
		}
		
		/// <summary>
		/// Get Error Correction Blocks by level
		/// </summary>
		//[method
		internal ErrorCorrectionBlocks GetECBlocksByLevel(Gma.QrCodeNet.Encoding.ErrorCorrectionLevel ECLevel)
		{
			switch(ECLevel)
			{
				case ErrorCorrectionLevel.L:
					return m_ECBlocks[0];
				case ErrorCorrectionLevel.M:
					return m_ECBlocks[1];
				case ErrorCorrectionLevel.Q:
					return m_ECBlocks[2];
				case ErrorCorrectionLevel.H:
					return m_ECBlocks[3];
				default:
					throw new System.ArgumentOutOfRangeException("Invalide ErrorCorrectionLevel");
			}
			
		}
		
	}
}

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。