Je suis en mesure de recueillir tous les types du domaine actuel appelant ceci:Simuler ReflectionTypeLoadException être levée pendant les types de domaine collection
var types = AppDomain.CurrentDomain
.GetAssemblies()
.SelectMany(x => x.GetTypes())
.ToList();
On suppose aucune exception est levée. Néanmoins, je voudrais simuler ReflectionTypeLoadException
à être lancé au cours de ce processus.
Comment corrompre un type existant dans mon code pour que cette exception se produise?
Sinon, si ce qui précède ne peut être atteint, comment puis-je créer dynamiquement un assemblage artificiel avec un type corrompu pour infecter le domaine (courant ou nouveau)? En particulier, je suis à la recherche de quelques indices concernant la mise en œuvre de la méthode Infect()
ci-dessous:
Infect(AppDomain.CurrentDomain); // inject corrupted type
try
{
var types = AppDomain.CurrentDomain
.GetAssemblies()
.SelectMany(x => x.GetTypes())
.ToList();
}
catch (ReflectionTypeLoadException e)
{
// done
}
Est-ce à des fins de tests unitaires? – CodeNotFound
@CodeNotFound: Oui. – jwaliszko