Articles of events

Attacher un événement à un object dynamic

Je crée un object dynamic ac # d’un object COM de la manière suivante: dynamic pdfCreator = Activator.CreateInstance( Type.GetTypeFromProgID(“PDFCreator.clsPDFCreator”)); La classe clsPDFCreator définit un événement appelant eReady. Mais quand j’essaye d’enregistrer un Eventhandler comme pdfCreator.eReady += _PDFCreator_eReady; Je reçois le message d’erreur “L’opérateur ‘+ =’ ne peut pas être appliqué aux opérandes de type” dynamic […]

Utilisation de IObservable au lieu d’événements

J’ai récemment lu sur IObservable. Jusqu’à présent, j’ai examiné diverses questions relatives à SO et regardé une vidéo sur ce qu’elles peuvent faire. Je pense que tout le mécanisme “push” est shiny, mais j’essaie toujours de comprendre ce que tout fait exactement. De mes lectures, je suppose qu’en un sens un IObservable est quelque chose […]

Comment obtenir le nouveau texte dans TextChanged?

Dans une zone de texte, je surveille les modifications de texte. Je dois vérifier le texte avant de faire certaines choses. Mais je ne peux que vérifier l’ancien texte pour l’instant. Comment puis-je obtenir le nouveau texte? private void textChanged(object sender, EventArgs e) { // need to check the new text } Je sais que […]

Comment puis-je déclencher un événement en toute sécurité

Lorsqu’il n’y a pas d’abonné à un événement, comment puis-je m’assurer qu’aucune exception ne sera levée si l’événement est déclenché? // Delegate declaration public delegate void _delDisplayChange(object sender,ssortingng option); // Event declaration public event _delDisplayChange DisplayChange; //throwing the event DisplayChange(this, “DISTRIBUTION”);

Bloquer le code et attendre que le gestionnaire d’événements se déclenche?

J’écris une application qui utilise une bibliothèque tierce pour traiter certaines données. Dans un exemple très simplifié, j’ai une méthode qui s’exécute comme une tâche comme celle-ci: private void ProcessListOfItems(List items) { while (items.Count > 0) { 3rdPartyLibObject.Process(items[0]); items.Remove(0); } } Comme vous pouvez le constater, à la façon dont mon code est actuellement écrit, […]

Avez-vous besoin de “dérégler” une fonction / lambda anonyme

D’après ce que j’ai compris, tous les gestionnaires d’événements connectés en C # doivent être non connectés en tant que tels. Object myObject = new Object(); myObject.Event += EventHandler; //Wired myObject.Event -= EventHandler; //Unwired Mais avez-vous besoin de détwigr le code suivant? et si oui, comment? Object myObject = new Object(); myObject.Event += (object sender, […]

Déclenchement d’un événement chaque fois qu’une nouvelle méthode est appelée

Je crée un enregistreur pour une application c # qui doit enregistrer l’heure à laquelle chaque méthode a été appelée l’heure d’exécution de chaque méthode. Je peux le faire en appelant ma propre méthode EventLogger.LogMethodCall au début de chaque méthode, mais je me demandais s’il existait un moyen de faire en sorte que le CLR […]

Implémentation d’un mécanisme de message / abonnement en C #

Je prototype une application WPF avec le modèle MVVM. Suite à une réponse à cette question, j’ai créé un ModelProviderService qui expose les modèles en tant que propriétés. Les consommateurs du service sont les modèles de vue, c’est-à-dire qu’ils extraient leurs modèles du service au lieu de les instancier eux-mêmes. class ModelProviderService { private LoginModel […]

Pourquoi le TextBlock n’est-il pas l’OriginalSource sur l’événement routé?

Je montre un menu contextuel pour les éléments dans un ListView . Le menu contextuel est attaché au TextBlock de ListView comme suit. Le menu contextuel s’affiche correctement et RoutedUIEvent est également déclenché. Le problème est que, dans le rappel exécuté, ExecutedRoutedEventArgs.OriginalSource est un ListViewItem et non le TextBlock. J’ai essayé de définir la propriété […]

nhibernate auditing avec des événements sur la mise à jour

Le code suivant fonctionne sur insert mais le modifier mise à jour n’est jamais défini. Des idées pourquoi? Le code de pré-mise à jour est en cours d’exécution et définit correctement les valeurs d’état et d’entité sur la valeur souhaitée. Cependant, lors de la visualisation, SQL nhibernate généré n’inclut pas le champ dans la requête […]