Articles of delegates

Comment les événements C # fonctionnent-ils en coulisse?

J’utilise C #, .NET 3.5. Je comprends comment utiliser les événements, comment les déclarer dans ma classe, comment les accrocher ailleurs, etc. Un exemple artificiel: public class MyList { private List m_Ssortingngs = new List(); public EventHandler ElementAddedEvent; public void Add(ssortingng value) { m_Ssortingngs.Add(value); if (ElementAddedEvent != null) ElementAddedEvent(value, EventArgs.Empty); } } [TestClass] public class […]

Délégation rapide – Quand utiliser le pointeur faible sur le délégué

Quelqu’un peut-il expliquer quand et quand ne pas utiliser une affectation «faible» à un pointeur de délégué dans Swift, et pourquoi? Je crois comprendre que si vous utilisez un protocole qui n’est pas défini comme une classe que vous ne pouvez ni ne souhaitez atsortingbuer, atsortingbuez votre pointeur de délégué à faible. protocol MyStructProtocol{ //whatever […]

Devenir délégué UIScrollViewDelegate pour UITableView

J’ai une variable d’instance UITableView . Je veux pouvoir enregistrer mon contrôleur de vue comme UIScrollViewDelegate pour mon UITableViewController . J’ai déjà essayé tableView.delegate = self; Mais lors du défilement, mes méthodes – (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView – (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate ne pas être appelé. Aucune suggestion?

Obtenir une référence au délégué UIApplication

J’écris ma première application iPhone et j’ai du mal à changer de vue. J’ai 2 vues et une référence à chacune dans AppDelegate (une instance de UIApplicationDelegate ). Je crée des instances des deux dans l’ applicationDidFinishLaunching et affiche immédiatement la première vue. Cela fonctionne bien. Le problème est que la référence à l’autre vue […]

Comment déclarez-vous un délégué de prédicat en ligne?

J’utilise C #. J’ai donc un object qui a des champs, peu importe quoi. J’ai une liste générique de ces objects. List myObjects = new List(); myObjects.Add(myObject1); myObjects.Add(myObject2); myObjects.Add(myObject3); Je souhaite donc supprimer des objects de ma liste en fonction de certains critères. Par exemple, myObject.X >= 10. Je voudrais utiliser la RemoveAll(Predicate match) pour […]

Quelle est la durée de vie d’un délégué créé par un lambda en C #?

Les Lambdas sont agréables, car elles offrent une brièveté et une localité et une forme d’encapsulation supplémentaire . Au lieu d’avoir à écrire des fonctions qui ne sont utilisées qu’une fois que vous pouvez utiliser un lambda. Tout en me demandant comment ils fonctionnaient, j’ai intuitivement pensé qu’ils n’étaient probablement créés qu’une seule fois . […]

Déclarez un type de délégué dans Typescript

Venant d’un arrière-plan C #, je veux créer un type de données qui définit une signature de fonction. En C #, ceci est un delegate déclaré comme ceci: delegate void Greeter (ssortingng message); public class Foo { public void SayHi (Greeter g) { g(“Hi!”); } } Maintenant, je veux atteindre similaire dans Typescript. Je sais […]

Dans .NET, dans quel thread les événements seront-ils traités?

J’ai essayé d’implémenter un modèle producteur / consommateur dans c #. J’ai un thread consommateur qui surveille une queue partagée et un thread producteur qui place des éléments dans la queue partagée. Le thread producteur est abonné pour recevoir des données, c’est-à-dire qu’il possède un gestionnaire d’événement et qu’il rest assis et attend qu’un événement […]

Pourquoi y a-t-il des allocations de mémoire lors de l’appel d’un func

J’ai le programme suivant qui construit un Func local à partir de deux méthodes statiques. Mais étrangement, lorsque je présente le programme, il a alloué près d’un million d’objects Func. Pourquoi l’appel d’un object Func crée également des instances Func? public static class Utils { public static bool ComparerFunc(long thisTicks, long thatTicks) { return thisTicks […]

Quelle est la différence entre Func et delegate?

Je vois des delegates sous deux formes: A. Func convertMethod = lambda B. public delegate ssortingng convertMethod(ssortingng value); Je ne suis pas certain de la différence entre ces deux éléments. Sont-ils les deux delegates? Je crois que le premier utiliserait un lambda et le second devrait avoir une méthode pour effectuer le travail. Je peux […]