public NField nfield(int index, bool mixin)
{
if (m_nfields == null) m_nfields = new NField[m_fieldRefs.size()];
NField nfield = m_nfields[index];
if (nfield == null)
{
int[] v = fieldRef(index).val;
nfield = new NField();
nfield.parentType = FanUtil.toDotnetImplTypeName(nname(v[0]));
nfield.fieldName = "m_" + name(v[1]);
nfield.fieldType = nname(v[2]);
m_nfields[index] = nfield;
}
return nfield;
}