ClassLibraryWeiBao/QR二维码/Versions/ErrorCorrectionBlocks.cs
(完整代码) 1KBnamespace Gma.QrCodeNet.Encoding.Versions
{
internal struct ErrorCorrectionBlocks
{
internal int NumErrorCorrectionCodewards { get; private set; }
internal int NumBlocks { get; private set; }
internal int ErrorCorrectionCodewordsPerBlock { get; private set;}
private ErrorCorrectionBlock[] m_ECBlock;
internal ErrorCorrectionBlocks(int numErrorCorrectionCodewords, ErrorCorrectionBlock ecBlock)
: this()
{
this.NumErrorCorrectionCodewards = numErrorCorrectionCodewords;
this.m_ECBlock = new ErrorCorrectionBlock[]{ecBlock};
this.initialize();
}
internal ErrorCorrectionBlocks(int numErrorCorrectionCodewords, ErrorCorrectionBlock ecBlock1, ErrorCorrectionBlock ecBlock2)
: this()
{
this.NumErrorCorrectionCodewards = numErrorCorrectionCodewords;
this.m_ECBlock = new ErrorCorrectionBlock[]{ecBlock1, ecBlock2};
this.initialize();
}
/// <summary>
/// Get Error Correction Blocks
/// </summary>
internal ErrorCorrectionBlock[] GetECBlocks()
{
return m_ECBlock;
}
/// <summary>
/// Initialize for NumBlocks and ErrorCorrectionCodewordsPerBlock
/// </summary>
private void initialize()
{
if(m_ECBlock == null)
throw new System.ArgumentNullException("ErrorCorrectionBlocks array doesn't contain any value");
NumBlocks = 0;
int blockLength = m_ECBlock.Length;
for(int i = 0; i < blockLength; i++)
{
NumBlocks += m_ECBlock[i].NumErrorCorrectionBlock;
}
ErrorCorrectionCodewordsPerBlock = NumErrorCorrectionCodewards / NumBlocks;
}
}
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。