using System; namespace Developpez.Dotnet.Diagnostics { /// /// Classe d'extension afin de fournir aux objets de type la possibilité /// d'être englobés dans des proxy afin de fournir des outils de diagnostique pour mesurer le nombre et /// la durée des appels des différents objets /// public static class MethodCallMonitorExtensions { /// /// Renvoie un proxy pour l'objet passé en paramètre, auquel on peut attacher des évènements grâce à wrappedEvents /// /// Le type d'objet pour lequel créer un proxy /// L'objet pour lequel créer un proxy /// Paramètre de sortie qui reçoit l'objet qui va permettre d'intercepter les appels aux méthodes de la fonction via des évènements /// L'objet wrappé auquel sera associé les différents évènements attachés grâce à wrappedEvents public static T WrapForCallMonitor(this T obj, out MethodCallMonitor wrappedEvents) where T : MarshalByRefObject { return MethodCallMonitor.Create((T)obj, out wrappedEvents); } } }