|
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
|
Traduction
Source
|
ModuleResolveEventHandler, délégué
Espace de noms : System.Reflection
Assembly : mscorlib (dans mscorlib.dll)
[SerializableAttribute] [ComVisibleAttribute(true)] public delegate Module ModuleResolveEventHandler( Object sender, ResolveEventArgs e )
Paramètres
- sender
- Type : System.Object
Assembly qui était la source de l'événement.
- e
- Type : System.ResolveEventArgs
Arguments fournis par l'objet décrivant l'événement.
Pour compiler et exécuter l'exemple
Ouvrez une fenêtre d'invite de commandes et accédez au répertoire qui contient MySample.cs. Compilez Server1 à l'aide de la commande suivante : csc /out:subfolder\Server1.netmodule /t:module Server1.cs
Compilez MySample à l'aide de la commande suivante : csc /out:MySample.exe /t:exe /addmodule:subfolder\Server1.netmodule MySample.cs
Exécutez MySample.exe.
Remarque |
|---|
using System; using System.IO; using System.Reflection; class MySample { public static int Main(String[] args) { Assembly asm1 = Assembly.GetExecutingAssembly(); asm1.ModuleResolve += new ModuleResolveEventHandler(evModuleResolve); Console.WriteLine("Calling MySample.Test..."); Test(); return 0; } private static Module evModuleResolve(object sender, ResolveEventArgs e) { Console.WriteLine(); Console.WriteLine("******************************************************"); Console.WriteLine("* MySample.evModuleResolve() in module: {0:s} *", Type.GetType("MySample").Module.ScopeName); Console.WriteLine("******************************************************"); FileStream fs = File.Open("subfolder\\Server1.netmodule", FileMode.Open); long len = fs.Length; byte[] rgFileBytes = new byte[len]; fs.Read(rgFileBytes, 0, (int)len); Assembly a = Assembly.GetExecutingAssembly(); Module m = a.LoadModule("Server1.netmodule", rgFileBytes); return m; } private static void Test() { Console.WriteLine("Instantiating Server1..."); Server1 s = new Server1(); Console.WriteLine("Calling Server1.trivial..."); s.trivial(); } } ... // Server1 module using System; using System.Reflection; public class Server1 : MarshalByRefObject { public int trivial() { Console.WriteLine(); Console.WriteLine("******************************************************"); Console.WriteLine("* Server1.trivial() in module: {0:s} *", this.GetType().Module.ScopeName); Console.WriteLine("******************************************************"); Console.WriteLine("Returning from Server1.trivial..."); return 1; } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Remarque