Marshalling information for a field or param
상속: MetaDataElement
예제 #1
0
파일: PERWAPI.cs 프로젝트: nomit007/f4
 internal override sealed void BuildTables(MetaDataOut md)
 {
     md.AddToTable(MDTable.Field,this);
     nameIx = md.AddToStringsHeap(name);
     if (!type.isDef()) type.BuildMDTables(md);
     if (initVal != null) {
         FieldRVA rva = new FieldRVA(this,initVal);
         rva.BuildMDTables(md);
     }
     if (constVal != null) {
         ConstantElem constElem = new ConstantElem(this,constVal);
         constElem.BuildMDTables(md);
     }
     if (hasOffset) {
         FieldLayout layout = new FieldLayout(this,offset);
         layout.BuildMDTables(md);
     }
     if (marshalType != null) {
         FieldMarshal marshalInfo = new FieldMarshal(this,marshalType);
         marshalInfo.BuildMDTables(md);
     }
 }
예제 #2
0
파일: PERWAPI.cs 프로젝트: nomit007/f4
 internal static void Read(PEReader buff, TableRow[] fMarshal)
 {
     for (int i=0; i < fMarshal.Length; i++)
         fMarshal[i] = new FieldMarshal(buff);
 }
예제 #3
0
파일: PERWAPI.cs 프로젝트: nomit007/f4
 internal override sealed void BuildTables(MetaDataOut md)
 {
     md.AddToTable(MDTable.Param,this);
     nameIx = md.AddToStringsHeap(pName);
     if (defaultVal != null) {
         ConstantElem constElem = new ConstantElem(this,defaultVal);
         constElem.BuildMDTables(md);
     }
     if (marshalType != null) {
         FieldMarshal marshalInfo = new FieldMarshal(this,marshalType);
         marshalInfo.BuildMDTables(md);
     }
 }