Esempio n. 1
0
		public void LoadAssembly (string assemblyPath)
		{
			var readerParameters = new ReaderParameters { ReadSymbols = true };
			var def = AssemblyDefinition.ReadAssembly (assemblyPath, readerParameters);
			
			var assembly = new AssemblyMirror ();
			assembly.FullName = def.FullName;
			assembly.Metadata = def;
			assemblies.Add (assembly);

			if (AssemblyLoaded != null)
				AssemblyLoaded (new AssemblyEvent (assembly));

			if (TypeLoaded == null)
				return;

			foreach (var t in def.MainModule.Types.Where (x => x.FullName != "<Module>"))
			{
				var type = new TypeMirror ();
				type.Assembly = assembly;
				type.FullName = t.FullName;
				type.Name = t.Name;
				type.MetadataToken = t.MetadataToken.ToInt32 ();
				type.Metadata = t;
				TypeLoaded (new TypeEvent (type));
			}
		}