• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# MDTable类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中MDTable的典型用法代码示例。如果您正苦于以下问题:C# MDTable类的具体用法?C# MDTable怎么用?C# MDTable使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



MDTable类属于命名空间,在下文中一共展示了MDTable类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: MethodRow

		public MethodRow(MDTable parent)
		{
			table = parent;
		}
开发者ID:emtees,项目名称:old-code,代码行数:4,代码来源:Rows.cs


示例2: AddToTable

		internal void AddToTable(MDTable tableIx, MetaDataElement elem) 
		{
			if (elem.Row > 0) {
				// Console.Out.WriteLine("ERROR - element already in table " + tableIx);
				return;
			}
			// updates Row field of the element
			// Console.WriteLine("Adding element to table " + (uint)tableIx);
			ArrayList table = GetTable(tableIx);
			elem.Row = (uint)table.Count + 1;
			table.Add(elem);
		}
开发者ID:calumjiao,项目名称:Mono-Class-Libraries,代码行数:12,代码来源:Metadata.cs


示例3: TableIndexSize

		internal uint TableIndexSize(MDTable tabIx) 
		{
			if (largeIx[(uint)tabIx]) return 4;
			return 2;
		}
开发者ID:calumjiao,项目名称:Mono-Class-Libraries,代码行数:5,代码来源:Metadata.cs


示例4: AddToList

 internal void AddToList(ArrayList list, MDTable tabIx)
 {
     Contract.Requires(list != null);
     switch (tabIx)
     {
         case (MDTable.Field): fields.AddRange(list); break;
         case (MDTable.Method): methods.AddRange(list); break;
         case (MDTable.TypeDef): nestedClasses.AddRange(list); break;
         default: throw new Exception("Unknown list type");
     }
 }
开发者ID:dbremner,项目名称:perwapi,代码行数:11,代码来源:MDClassElems.cs


示例5: MapElem

		internal MapElem(ClassDef par, uint elIx, MDTable elemTab) 
		{
			parent = par;
			elemIx = elIx;
			elemTable = elemTab;
		}
开发者ID:calumjiao,项目名称:Mono-Class-Libraries,代码行数:6,代码来源:Metadata.cs


示例6: AddToFeatureList

 internal void AddToFeatureList(ArrayList list, MDTable tabIx)
 {
     if (tabIx == MDTable.Event) {
         events.AddRange(list);
     } else {
         properties.AddRange(list);
     }
 }
开发者ID:nomit007,项目名称:f4,代码行数:8,代码来源:PERWAPI.cs


示例7: AddToTable

        internal void AddToTable(MDTable tableIx, MetaDataElement elem)
        {
            // Console.WriteLine("Adding element to table " + (uint)tableIx);

              ArrayList table = GetTable(tableIx);
              if (table.Contains(elem)) {
            Console.Out.WriteLine("ERROR - element already in table " + tableIx);
            return;
              }
              elem.Row = (uint)table.Count + 1;
              table.Add(elem);
        }
开发者ID:dbremner,项目名称:perwapi,代码行数:12,代码来源:MetaDataOut.cs


示例8: MapElem

 internal MapElem(ClassDef classDef, ClassDef paren, MDTable tableIx)
 {
     theClass = classDef;
     parent = paren;
     tabIx = tableIx;
     sortTable = tabIx == MDTable.NestedClass;
 }
开发者ID:nomit007,项目名称:f4,代码行数:7,代码来源:PERWAPI.cs


示例9: InsertInTable

 internal void InsertInTable(MDTable tabIx, uint ix, MetaDataElement elem)
 {
     Contract.Requires(elem != null);
     tables[(int)tabIx][ix - 1] = elem;
 }
开发者ID:dbremner,项目名称:perwapi,代码行数:5,代码来源:PEReader.cs


示例10: ReadColumn

		/// <summary>
		/// Reads a column
		/// </summary>
		/// <param name="table">The table</param>
		/// <param name="rid">Row ID</param>
		/// <param name="column">Column</param>
		/// <param name="value">Result is put here or 0 if we return <c>false</c></param>
		/// <returns><c>true</c> if we could read the column, <c>false</c> otherwise</returns>
		public bool ReadColumn(MDTable table, uint rid, ColumnInfo column, out uint value) {
			if (table == null || table.IsInvalidRID(rid)) {
				value = 0;
				return false;
			}
			if (columnReader != null && columnReader.ReadColumn(table, rid, column, out value))
				return true;
			var reader = table.ImageStream;
			reader.Position = (rid - 1) * table.TableInfo.RowSize + column.Offset;
			value = column.Read(reader);
			return true;
		}
开发者ID:SAD1992,项目名称:justdecompile-plugins,代码行数:20,代码来源:TablesStream_Read.cs


示例11: ParamRow

		public ParamRow(MDTable parent)
		{
			table = parent;
		}
开发者ID:emtees,项目名称:old-code,代码行数:4,代码来源:Rows.cs


示例12: MakeCodedIndex

 internal uint MakeCodedIndex(CIx code, MDTable tab, uint ix)
 {
     ix <<= MetaData.CIxShiftMap[(uint)code];
     ix &= (uint)tab;
     return ix;
 }
开发者ID:nomit007,项目名称:f4,代码行数:6,代码来源:PERWAPI.cs


示例13: Read

 internal static void Read(PEReader buff, TableRow[] maps, MDTable tab)
 {
     if (tab == MDTable.NestedClass) {
         for (int i=0; i < maps.Length; i++) {
             //maps[i] = new MapElem(buff,tab);
             uint nestClassIx = buff.GetIndex(MDTable.TypeDef);
             uint enclClassIx = buff.GetIndex(MDTable.TypeDef);
             ClassDef parent = (ClassDef)buff.GetElement(MDTable.TypeDef,enclClassIx);
             ClassDef nestClass = ((ClassDef)buff.GetElement(MDTable.TypeDef,nestClassIx)).MakeNestedClass(parent);
             buff.InsertInTable(MDTable.TypeDef,nestClass.Row,nestClass);
         }
     } else { // event or property map
         MapElem prev = new MapElem(buff,tab);
         maps[0] = prev;
         for (int i=1; i < maps.Length; i++) {
             maps[i] = new MapElem(buff,tab);
             prev.endIx = ((MapElem)maps[i]).elemIx;
             prev = (MapElem)maps[i];
         }
         switch (tab) {
             case MDTable.PropertyMap:
                 prev.endIx = buff.GetTableSize(MDTable.Property) + 1;
                 break;
             case MDTable.EventMap:
                 prev.endIx = buff.GetTableSize(MDTable.Event) + 1;
                 break;
             default:
                 prev.endIx = buff.GetTableSize(tab)+1;
                 break;
         }
     }
 }
开发者ID:nomit007,项目名称:f4,代码行数:32,代码来源:PERWAPI.cs


示例14: SetElementPosition

 internal void SetElementPosition(MDTable tabIx, uint ix)
 {
     BaseStream.Position = tableStarts[(int)tabIx] + (md.elemSize[(int)tabIx] * (ix-1));
 }
开发者ID:nomit007,项目名称:f4,代码行数:4,代码来源:PERWAPI.cs


示例15: Size

 internal static uint Size(MetaData md, MDTable tabIx)
 {
     return md.TableIndexSize(MDTable.TypeDef) + md.TableIndexSize(tabIx);
 }
开发者ID:nomit007,项目名称:f4,代码行数:4,代码来源:PERWAPI.cs


示例16: GetFeatureNames

 internal static string[] GetFeatureNames(PEReader buff, MDTable tabIx, MDTable mapTabIx,
     ClassDef theClass, uint classIx)
 {
     buff.SetElementPosition(mapTabIx,0);
     uint start = 0, end = 0, i = 0;
     for (; (i < buff.GetTableSize(tabIx)) && (start == 0); i++) {
         if (buff.GetIndex(MDTable.TypeDef) == classIx) {
             start = buff.GetIndex(tabIx);
         }
     }
     if (start == 0) return null;
     if (i < buff.GetTableSize(mapTabIx)) {
         uint junk = buff.GetIndex(MDTable.TypeDef);
         end = buff.GetIndex(tabIx);
     } else
         end = buff.GetTableSize(tabIx);
     if (tabIx == MDTable.Event)
         theClass.eventIx = start;
     else
         theClass.propIx = start;
     string[] names = new string[end-start];
     buff.SetElementPosition(tabIx,start);
     for (i=start; i < end; i++) {
         uint junk = buff.ReadUInt16();
         names[i] = buff.GetString();
         if (tabIx == MDTable.Event)
             junk = buff.GetCodedIndex(CIx.TypeDefOrRef);
         else
             junk = buff.GetBlobIx();
     }
     return names;
 }
开发者ID:nomit007,项目名称:f4,代码行数:32,代码来源:PERWAPI.cs


示例17: TableRow

 internal TableRow(PEReader buff, uint ix, MDTable tableIx)
 {
     buffer = buff;
     row = ix;
     tabIx = tableIx;
 }
开发者ID:nomit007,项目名称:f4,代码行数:6,代码来源:PERWAPI.cs


示例18: AddToFeatureList

 internal void AddToFeatureList(ArrayList list, MDTable tabIx)
 {
     Contract.Requires(list != null);
     if (tabIx == MDTable.Event)
     {
         events.AddRange(list);
     }
     else
     {
         properties.AddRange(list);
     }
 }
开发者ID:dbremner,项目名称:perwapi,代码行数:12,代码来源:MDClassDefElems.cs


示例19: GetElement

 internal MetaDataElement GetElement(MDTable tabIx, uint ix)
 {
     if (ix == 0) return null;
     MetaDataElement elem = (MetaDataElement)tables[(int)tabIx][(int)ix-1];
     if ((elem != null) && (elem.unresolved)) {
         elem.Resolve(this);
         elem = (MetaDataElement)tables[(int)tabIx][(int)ix-1];
     }
     return elem;
 }
开发者ID:nomit007,项目名称:f4,代码行数:10,代码来源:PERWAPI.cs


示例20: WriteIndex

 internal void WriteIndex(MDTable tabIx,uint ix) {
   if (metaData.LargeIx(tabIx)) Write(ix);
   else Write((ushort)ix);
 }
开发者ID:jjenki11,项目名称:blaze-chem-rendering,代码行数:4,代码来源:PEAPI.cs



注:本文中的MDTable类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# MDToken类代码示例发布时间:2022-05-24
下一篇:
C# MD5CryptoServiceProvider类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap