You are on page 1of 2
28/2020 Metadatos www.devjoker.com Metadatos En la plataforma NET se dstnguen dos tipos de médulos de céidigo compilado:ejeeutables(extnsion xe) y ibrerfas de enlace dinémico(extensin ll sgeneralmente) Ambos son ficheros que conticnen defniciones de tipo de datos, la diferencia entre ellos cs gu so os primerasdisponen de un modo tspocil que sive de punto de entrada a pari del que es posible ejcutareleédigo que contienen haciendo una llamada desde Ia linea de comands del sistema ‘operative. A ambos tpos de médulos se los sule lamar ejecutables portables (PE), ya que su eddigo pede e)ecuase en cualquiera de os diferentes sistemas ‘operatives de a familia Windows para los que existe alguna versin del CLR. El contenido de un médulo noes s6lo MSIL, sino qu también consta de ots dos cas muy importantes la cabosera de CLR y los metadator: + La eabecera de CLR es un pequetioblogue de informacidn que indica que se tata de un médulo gestionadoe indica es la version del CLR que necesita, cud es su firma digital, cud es su punto de entrada (ses un eecutale, ee. + Los metadatos son un conjunto de dats orgeizados en forma de tablas que almacenan informacién sobre los tiposdefinidos en el mul, los miembros de ésos y sobre cules son los tpos extern al mula aloe que s es referencia en el médulo. Los metadatos de cada modulo los genera futomitiamente el compilador al ereatl, y entre sus tabla se inciuyen| ‘Tbe Descripeién ModuleDef Define la caactvisticas del médulo, Consta de un nico clemento que almacena un dentifcador de versin de modulo (GUID creado por el ‘compilador)y el nombre de fichero que se dio al médulo al compilarlo (asi estenombre siempre eslaé disponible, aungue se renombre el fichero) ‘Typeder Detine la caractrstica dels tips definios en el médulo, De cada tipo se almacena su nombre, su tipo pate, sus masiicadores de acceso ¥ referencias alos elementos de las tblas de miembros comrespondintes a sus membros MethodDef Define las caactersticas de los métodosdefnidos en el milo, De cada método se guarda su nombre, signatura (por cada pardmeto se incluye tna referencia al elemento gpropiado en la tabla ParamDe‘), rodifiadores y posiién del modulo dande comienzs el eSdigo MSIL de su cuca, ParamDef Define las caracteistias de los parimetros dfinidos en el médulo. De ‘ada parimeto se guarda su nombre y modifcadores. Fielder Detine las caractrsticas de los campos dafnidos en el méulo. De cada ‘uno se almacena informacion sobre euil es su nombre, tipo ¥ rmoditicadores PropertyDef Define las caactersticas de las propiedades definidas en el médulo. De ‘eada una se indiea su nombre, tipo, modificadoresy referencias a os tlementos de la tabla MethodDef corrspondientes asus métodos sete. EventDef Define as caractristicas de los eventos defnidosen el mél tno se indica su nombre, tipo, modificadores. referencias alos tlementos del tabla MethodDefcortesponientss asus métodos adiiremove Decada AssemblyRef Indica eules son los ensamblados extemos a Tos que se referencia en el médulo, De cada un se india cules su nombre de fchero (sin extension), vers, idioma y mares de eave piblica, ModuleRef Indica cules som los otros médlos del mismo ensemblado a os que referencia el médulo. De cada uno se indica cul es su nombre de cher, ‘Typeret Indica cules son los tipos exteros a los que se referencia ene! modulo De ada uno se indica evil es su nombre y, sein donde estin dfinidos, una referencia la poscin adecuada en a tabla AssembiyRef o en tabla ModuleRef. MemberRef —_Indican cues son los miembros defnidos externa tea los que se _ww.devjoker comiprintiConceptos-generales-NETIO1/Conceptos-generales-NET aspx 1 28/2020 Metadatos referencia en el mdulo,Fstos miembros pueden ser campos, métodos, propiedades o eventos; y de cada uno de ellos se almacena informacion ‘sobre str nombe ysignatra, asi como una referencia I paseion de Ia lubla TypeRet donde se almacenainformacin relative al tipo dl gue es rmiembro. Principals de metaatos| Nétese que el significado de los metadatos es similar al de otrs tecnologia prevas al plataforma NET como lo so ls cher IDL. Sin embargo, los smetadates tienen dos venajas importantes sobre Estas: conticns mis informacion y siempre se almacenan incrastados en el médulo al que descriea, haciendo {imposible la separaién entre ambos. Ademis, como se veri mis adelante, es posible tanto consular los metadatos de cualquier médulo através de las clases del espacio de nombres System, Reflection de la BCL como afsiresinformacién adcional mediante alributos (se veri més adelante) _ww.devjoker comiprintiConceptos-generales-NETIO1/Conceptos-generales-NET aspx 22

You might also like