internal override sealed void BuildTables(MetaDataOut md)
{
md.AddToTable(tabIx,this);
type.BuildMDTables(md);
// more adding to tables if data is not bytes
if (changed || (byteVal == null)) {
MemoryStream str = new MemoryStream();
BinaryWriter bw = new BinaryWriter(str);
bw.Write((ushort)1);
if (argVals != null) {
for (int i=0; i < argVals.Length; i++) {
argVals[i].Write(bw);
}
}
bw.Write(numNamed);
for (int i=0; i < numNamed; i++) {
if (isField[i]) bw.Write(Field.FieldTag);
else bw.Write(Property.PropertyTag);
bw.Write(vals[i].GetTypeIndex());
bw.Write(names[i]); // check this is the right format!!!
vals[i].Write(bw);
}
byteVal = str.ToArray();
}
valIx = md.AddToBlobHeap(byteVal);
}