using (var stream = File.OpenRead("MyAssembly.dll")) { var reader = MetadataReader.Create(stream); var eventDef = reader.GetEventDefinition(1); // Do something with the event definition, like retrieving its name: var eventName = reader.GetString(eventDef.Name); }
var module = typeof(Program).Assembly.ManifestModule; var metadataReader = module.GetMetadataReader(); foreach (var typeDefHandle in metadataReader.TypeDefinitions) { var typeDef = metadataReader.GetTypeDefinition(typeDefHandle); foreach (var eventDefHandle in typeDef.GetEvents()) { var eventDef = metadataReader.GetEventDefinition(eventDefHandle); // Do something with the event definition. } }In this example, we use the GetMetadataReader method to retrieve a MetadataReader object for the current assembly. We then loop through all the type definitions in the assembly and look for any events using each type definition's GetEvents method. For each event we find, we use the MetadataReader's GetEventDefinition method to retrieve its metadata information. Package/Library: System.Reflection.Metadata.dll