internal override sealed void TypeSig(MemoryStream str)
{
str.WriteByte(typeIndex);
elemType.TypeSig(str);
MetaDataOut.CompressNum(numDims,str);
if ((sizes != null) && (sizes.Length > 0)) {
MetaDataOut.CompressNum((uint)sizes.Length,str);
for (int i=0; i < sizes.Length; i++) {
MetaDataOut.CompressNum((uint)sizes[i],str);
}
} else str.WriteByte(0);
if ((lowerBounds != null) && (lowerBounds.Length > 0)) {
MetaDataOut.CompressNum((uint)lowerBounds.Length,str);
for (int i=0; i < lowerBounds.Length; i++) {
uint tmp = ((uint)Math.Abs(lowerBounds[i]) << 1) | ((uint)lowerBounds[i] >> 31);
MetaDataOut.CompressNum(tmp,str);
}
} else str.WriteByte(0);
}