Articles of delegates

¿Por qué el método de delegado asíncrono requiere llamar a EndInvoke?

¿Por qué el delegado necesita llamar a EndInvoke antes de que el método se dispare? Si necesito llamar a EndInvoke (que bloquea el hilo), entonces no es realmente una llamada asíncrona, ¿verdad? Aquí está el código que trato de ejecutar. class Program { private delegate void GenerateXmlDelegate(); static void Main(string[] args) { GenerateXmlDelegate worker = […]

El teclado y el cursor se muestran, pero no puedo escribir dentro de UITextFields y UITextViews

En un iPad con iOS 6 GM. Tengo 6 UITextFields, 3 UITextViews y un UIButton que desencadena un popover / actionsheet. Cuando selecciono uno de los UITextFields o UITextViews, aparece el teclado y aparece el cursor, pero no puedo ingresar texto. Si presiono el botón UIB para mostrar el popover y luego toco afuera para […]

Diferencia entre Delegate.Invoke y Delegate ()

delegate void DelegateTest(); DelegateTest delTest; ¿Cuál es la diferencia entre llamar a delTest.Invoke() y delTest() ? Ambos ejecutarían al delegado en el hilo actual, ¿verdad?

C #: desencadenar un evento cuando un objeto se agrega a una cola

Necesito poder activar un evento cada vez que se agrega un objeto a una Queue . Creé una nueva clase que extiende Queue : public delegate void ChangedEventHandler(object sender, EventArgs e); public class QueueWithChange : Queue { public event ChangedEventHandler Changed; protected virtual void OnChanged(EventArgs e) { if (Changed != null) { Changed(this, e); } […]

Delegados, ¿Por qué?

Posibles duplicados: ¿Cuándo usarías delegates en C #? El propósito de los delegates He visto muchas preguntas sobre el uso de delegates. Todavía no tengo claro dónde y POR QUÉ usaría delegates en lugar de llamar al método directamente. He escuchado esta frase muchas veces: “El objeto delegado se puede pasar al código que puede […]

Emitir delegado a Func en C #

Tengo código: public delegate int SomeDelegate(int p); public static int Inc(int p) { return p + 1; } Puedo convertir Inc en SomeDelegate o Func : SomeDelegate a = Inc; Func b = Inc; pero no puedo convertir Inc en SomeDelegate y luego SomeDelegate a Func manera habitual como esta: Func c = (Func)a; // […]

Envolviendo cronometraje cronómetro con un delegado o lambda?

Estoy escribiendo código como este, haciendo un poco de tiempo rápido y sucio: var sw = new Stopwatch(); sw.Start(); for (int i = 0; i < 1000; i++) { b = DoStuff(s); } sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds); Seguramente hay una manera de llamar a este bit de código de tiempo como una lambda de .NET 3.0 de […]

Eliminando manejadores de eventos

Es esto: Button.Click -= new EventHandler(Button_Click); lo mismo que esto: Button.Click -= Button_Click; Lo pregunto porque a mí me parece que el primero está eliminando una nueva referencia a un método, y el último está eliminando un método en sí mismo. Pero, de nuevo, ¿quizás la nueva parte de EventHandler está implícita en la sobrecarga […]

Inferencia de tipo genérico C # 3.0 – pasar un delegado como parámetro de función

Me pregunto por qué el comstackdor C # 3.0 no puede inferir el tipo de un método cuando se pasa como un parámetro a una función genérica cuando puede crear implícitamente un delegado para el mismo método. Aquí hay un ejemplo: class Test { static void foo(int x) { } static void bar(Action f) { […]

Func vs. Acción vs. Predicado

Con ejemplos reales y su uso, alguien puede ayudarme a entender: ¿Cuándo necesitamos el delegado de Func? ¿Cuándo necesitamos el delegado de Acción? ¿Cuándo necesitamos el delegado Predicates?