Ce sujet n'a pas encore été évalué - Évaluez ce sujet

AppDomain.AssemblyResolve, événement

Se produit lorsque la résolution d'un assembly échoue.

Espace de noms : System
Assembly : mscorlib (dans mscorlib.dll)

public event ResolveEventHandler AssemblyResolve
/** @event */
public final void add_AssemblyResolve (ResolveEventHandler value)

/** @event */
public final void remove_AssemblyResolve (ResolveEventHandler value)

JScript prend en charge l'utilisation d'événements mais pas la déclaration de nouveaux événements.

ResolveEventHandler de cet événement a la responsabilité de retourner l'assembly résolvant le type, l'assembly ou la ressource.

Pour inscrire un gestionnaire d'événements pour cet événement, vous devez disposer des autorisations requises, sans quoi SecurityException est levée.

Pour plus d'informations sur la gestion d'événements, consultez Consommation d'événements.

L'exemple suivant illustre l'événement AssemblyResolve.

Pour que cet exemple de code fonctionne, vous devez fournir le nom d'assembly qualifié complet. Pour plus d'informations sur la manière d'obtenir le nom d'assembly qualifié complet, consultez Noms d'assemblys.

public class MyType {
   public MyType() {
      Console.WriteLine("MyType instantiated!");
   }
}

class Test {
   public static void Main() {
      AppDomain currentDomain = AppDomain.CurrentDomain;

      InstantiateMyType(currentDomain);    // Failed!

      currentDomain.AssemblyResolve += new ResolveEventHandler(MyResolveEventHandler);

      InstantiateMyType(currentDomain);    // OK!
   }

   static void InstantiateMyType(AppDomain domain) {
      try {
	 // You must supply a valid fully qualified assembly name here.
         domain.CreateInstance("Assembly text name, Version, Culture, PublicKeyToken", "MyType");
      } catch (Exception e) {
         Console.WriteLine(e.Message);
      }
   }
   
   static Assembly MyResolveEventHandler(object sender, ResolveEventArgs args) {
      Console.WriteLine("Resolving...");
      return typeof(MyType).Assembly;
   }
}

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.