PERWAPI.MetaDataOut.TableIndex C# (CSharp) Méthode

TableIndex() private méthode

private TableIndex ( MDTable tableIx ) : uint
tableIx MDTable
Résultat uint
        internal uint TableIndex(MDTable tableIx)
        {
            if (tables[(int)tableIx] == null) return 1;
            return (uint)tables[(int)tableIx].Count+1;
        }

Usage Example

Exemple #1
0
 internal override sealed void BuildTables(MetaDataOut md)
 {
     md.AddToTable(MDTable.TypeDef,this);
     //if ((flags & (uint)TypeAttr.Interface) != 0) { superType = null; }
     if (superType != null) {
         superType.BuildMDTables(md);
         if (superType is ClassSpec) md.AddToTable(MDTable.TypeSpec,superType);
     }
     for (int i=0; i < genericParams.Count; i++) {
         ((GenericParam)genericParams[i]).BuildMDTables(md);
     }
     nameIx = md.AddToStringsHeap(name);
     nameSpaceIx = md.AddToStringsHeap(nameSpace);
     if (security != null) {
         for (int i=0; i < security.Count; i++) {
             ((DeclSecurity)security[i]).BuildMDTables(md);
         }
     }
     // Console.WriteLine("Building tables for " + name);
     if (layout != null) layout.BuildMDTables(md);
     // Console.WriteLine("adding methods " + methods.Count);
     methodIx = md.TableIndex(MDTable.Method);
     for (int i=0; i < methods.Count; i++) {
         ((MethodDef)methods[i]).BuildMDTables(md);
     }
     // Console.WriteLine("adding fields");
     fieldIx = md.TableIndex(MDTable.Field);
     for (int i=0; i < fields.Count; i++) {
         ((FieldDef)fields[i]).BuildMDTables(md);
     }
     // Console.WriteLine("adding interfaceimpls and methodimpls");
     if (interfaces.Count > 0) {
         for (int i=0; i < interfaces.Count; i++) {
             ((InterfaceImpl)interfaces[i]).BuildMDTables(md);
         }
     }
     if (methodImpls.Count > 0) {
         for (int i=0; i < methodImpls.Count; i++) {
             ((MethodImpl)methodImpls[i]).BuildMDTables(md);
         }
     }
     // Console.WriteLine("adding events and properties");
     if (events.Count > 0) {
         new MapElem(this,md.TableIndex(MDTable.Event),MDTable.EventMap).BuildMDTables(md);
         for (int i=0; i < events.Count; i++) {
             ((Event)events[i]).BuildMDTables(md);
         }
     }
     if (properties.Count > 0) {
         new MapElem(this,md.TableIndex(MDTable.Property),MDTable.PropertyMap).BuildMDTables(md);
         for (int i=0; i < properties.Count; i++) {
             ((Property)properties[i]).BuildMDTables(md);
         }
     }
     // Console.WriteLine("Adding nested classes");
     if (nestedClasses.Count > 0) {
         for (int i=0; i < nestedClasses.Count; i++) {
             ClassDef nClass = (ClassDef)nestedClasses[i];
             nClass.BuildMDTables(md);
             new MapElem(nClass,this,MDTable.NestedClass).BuildTables(md);
         }
     }
     // Console.WriteLine("End of building tables");
 }
All Usage Examples Of PERWAPI.MetaDataOut::TableIndex