2010-02-17 10 views
6

Estoy utilizando bibliotecas compartidas de Lokad, que a su vez dependen de Mono.Cecil.¿Qué significan estas propiedades en Mono.Cecil?

estoy un poco confundido lo que significan las siguientes propiedades (que tienen que hacer con las partes internas .NET y por lo tanto tienen partes internas .NET equivalentes):

  • PACKINGSIZE (que tienen que ver con tipos como lo es en TypeDefinition).
  • Mvid (en ModuleDefinition).
  • ExplicitThis (algo que ver con la palabra clave this lo sé, pero en MethodDefinition).
  • CallingConvention.
  • GetSentinel (un método que devuelve int en MethodReference).
  • RVA.
  • SemanticsAttribute.
  • IsHideBySig.

Alguna idea de lo que esto significa/hacer?

Respuesta

5

No estoy muy familiarizado con Cecil, pero la mayoría de esos artículos están relacionados con el archivo IL. Aquí hay algunas respuestas, todas tomadas del libro de Serge Lidin: Expert .Net 2.0 IL Assembler.

  • Tamaño de embalaje = El factor de alineación en bytes. Se debe establecer en 0 o en una potencia de 1 a 128. (en la tabla de metadatos de diseño de clase) (p122)

  • Mvid = identificador único global, asignado al módulo tal como se genera (o id de la versión del módulo) (En la tabla módulo de metadatos) (p105)

  • explícita Este = firma llamada al método. El primer parámetro explícitamente especificado es el puntero de instancia. La clave de ILAsm es explícita. (p159)

  • CallingConvention = el primer byte de una firma identifica el tipo de la firma, que por razones históricas se denomina la convención de llamada de la firma. (Ex: default, vararg, campo, localsig, propiedad, unmgd, hasthis, explicitthis) p158-159

  • GetSentinel = muy probablemente tiene que ver con el modificador de centinela, lo que significa el comienzo de argumentos opcionales suministrados para un vararg llamada de método (P152)

  • RVA = dirección virtual relativa: la dirección de un artículo una vez que se haya cargado en la memoria, con la dirección base del archivo de imagen restada de ella - en otras palabras, el desplazamiento de un elemento dentro de la archivo de imagen cargado en la memoria. (P42)

  • SemanticsAttribute - muy probablemente algo que ver con la tabla MethodSemantics, que conecta eventos y propiedades con sus métodos asociados y proporciona información sobre el tipo de asociación. Un semántico puede ser un setter, getter, otro (propiedad) o addon, removeon o fire (event) p317

  • IsHideBySig - el método oculta todos los métodos de las clases padre que tienen una firma y un nombre (a diferencia de teniendo solo un nombre que coincida). p188

Cuestiones relacionadas