AsmResolver.Net.Signatures.ArrayTypeSignature.GetPhysicalLength C# (CSharp) 메소드

GetPhysicalLength() 공개 메소드

public GetPhysicalLength ( ) : uint
리턴 uint
        public override uint GetPhysicalLength()
        {
            if (!Validate())
                throw new InvalidOperationException();

            var numSizes = 0u;
            var numLoBounds = 0u;
            var sizesAndLoBoundsLength = 0u;

            foreach (var dimension in Dimensions)
            {
                if (dimension.Size.HasValue)
                {
                    numSizes++;
                    sizesAndLoBoundsLength += dimension.Size.Value.GetCompressedSize();
                }
                if (dimension.LowerBound.HasValue)
                {
                    numLoBounds++;
                    sizesAndLoBoundsLength += dimension.LowerBound.Value.GetCompressedSize();
                }
            }

            return sizeof (byte) +
                   BaseType.GetPhysicalLength() +
                   Dimensions.Count.GetCompressedSize() +
                   numSizes.GetCompressedSize() +
                   numLoBounds.GetCompressedSize() +
                   sizesAndLoBoundsLength;
        }