Utilizzo della reflection emit
In questa sezione verrà fornita una descrizione delle operazioni fondamentali che è possibile eseguire mediante la reflection emit. Di seguito sono elencate alcune note relative alla descrizione delle operazioni.
L'attributo MethodAttributes.SpecialName è applicabile a tipi (specificati mediante l'enumerazione TypeAttributes), metodi (specificati mediante l'enumerazione MethodAttributes), campi (specificati mediante l'enumerazione FieldAttributes), proprietà (specificate mediante l'enumerazione PropertyAttributes) ed eventi (specificati mediante l'enumerazione EventAttributes).
L'attributo MethodAttributes.SpecialName è utilizzato per specificare che il nome è speciale per compilatori, strumenti e così via. In Common Language Runtime questo attributo non viene controllato.
L'attributo MethodAttributes.RTSpecialName è riservato unicamente all'utilizzo da parte del runtime.
In questa sezione
- Procedura: definire ed eseguire metodi dinamici
Viene illustrato come definire un metodo dinamico di tipo lightweight, aggiungere codice MSIL ed eseguire il metodo completato, senza il sovraccarico dovuto alla definizione di un assembly dinamico.
- Procedura: definire un tipo generico con la reflection emit
Viene illustrato come definire un tipo generico in un modulo dinamico, specificare i relativi parametri di tipo generico e utilizzare questi ultimi nelle firme del metodo.
- Procedura: definire un metodo generico con la reflection emit
Viene illustrato come definire un tipo generico in un modulo dinamico, specificare i relativi parametri di tipo generico ed eseguire il metodo.
- Definizione di un assembly dinamico
Vengono elencate e descritte le modalità di creazione e utilizzo degli assembly dinamici.
- Procedura: utilizzare la firma completa per assegnare un nome sicuro a un assembly dinamico
Viene illustrato come assegnare un nome sicuro all'assembly dinamico.
- Definizione di un modulo dinamico
Vengono elencate e descritte le modalità di creazione di moduli dinamici all'interno di assembly dinamici.
- Definizione di un tipo tramite la reflection emit
Vengono descritte le modalità con cui possono essere creati i tipi e utilizzati gli attributi e vengono indicati i limiti inerenti alla creazione di tipi dinamici.
- Definizione di un'enumerazione tramite la reflection emit
Viene fornito un elenco di classi e metodi utilizzati per definire enumerazioni dinamiche.
- Definizione di un costruttore mediante la reflection emit
Viene illustrata la definizione dei costruttori delle classi dinamiche, nonché gli attributi utilizzati e i limiti inerenti.
- Definizione di un metodo tramite la reflection emit
Viene illustrato come definire i metodi in moduli e tipi dinamici e vengono descritti gli attributi utilizzati e i limiti inerenti.
- Definizione di un campo tramite la reflection emit
Viene fornito un elenco di classi e metodi utilizzati per definire i campi relativi a tipi dinamici.
- Definizione di una proprietà tramite la reflection emit
Viene fornito un elenco di classi e metodi utilizzati per definire le proprietà relative a tipi dinamici.
- Definizione di un evento tramite la reflection emit
Viene fornito un elenco di classi e metodi utilizzati per definire gli eventi relativi a tipi dinamici.
- Definizione di un parametro tramite la reflection emit
Viene fornito un elenco di classi e metodi utilizzati per definire i parametri relativi ai metodi di tipi e moduli dinamici.
- Definizione di una costante di stringa tramite la reflection emit
Viene fornito un elenco di classi e metodi utilizzati per definire costanti stringa.
- Creazione di istruzioni MSIL tramite la reflection emit
Viene illustrato come generare codice eseguibile creando istruzioni MSIL all'interno di proprietà e metodi.
- Creazione di risorse tramite la reflection emit
Viene illustrato come aggiungere risorse ai moduli dinamici.
- Creazione di informazioni relative ai simboli tramite la reflection emit
Viene illustrato come aggiungere informazioni su simboli che possono essere utilizzate da debugger e altri strumenti.