Articles of delegates

Inferencia genérica de tipo delegado C #

¿Por qué el comstackdor de C # no puede inferir T a int en el ejemplo especificado? void Main() { int a = 0; Parse(“1”, x => a = x); // Compiler error: // Cannot convert expression type ‘int’ to return type ‘T’ } public void Parse(string x, Func setter) { var parsed = …. […]

Manejo de excepciones controlado en invocaciones dinámicas con números variables de parámetros

En un hilo resuelto ayer , @hvd me mostró cómo obtener “control” sobre el manejo de excepciones por .Invoke al tratar con delegates de tipo desconocido (un problema visto en bibliotecas como Isis2 , donde el usuario final proporciona controladores de eventos polimórficos y la biblioteca). tipo de coincidencias para decidir a cuál llamar). La […]

¿Por qué los delegates pueden usarse indistintamente para los métodos de clase y las funciones estáticas?

He estado usando delegates durante muchos años y realmente no les he pensado mucho. Pero recientemente me puse un huevo en la cara al asumir que los delegates incluyeron this referencia en la firma al hacer referencia a un método de clase. El siguiente ejemplo ilustra la brecha en mi comprensión. public class SomeClass { […]

¿Cómo puedo pasar un nombre de método a otro método y llamarlo a través de una variable delegada?

Tengo un método que contiene una variable delegada que apunta a otra clase. Quiero llamar a un método en esa clase a través de este delegado, pero pasar el nombre del método como una cadena al método que contiene el delegado. ¿Cómo se puede hacer esto? ¿Usando la reflexión? Func ? Editar: Ahora entiendo que […]

¿Cuáles son las diferencias entre delegates y eventos?

¿Cuáles son las diferencias entre los delegates y los eventos? ¿Ambos no mantienen referencias a funciones que pueden ser ejecutadas?

pasando Func keySelector error

static void Main() { string[] a = { “a”, “asd”, “bdfsd”, “we” }; a = a.OrderBy(fun).ToArray(); } private static int fun(string s) { return s.Length; } Está dando error de tiempo de comstackción. Sé que podemos hacer esto con una expresión Lambda como esta. a.OrderBy(s=>s.Length).ToArray(); Pero quiero hacer esto definiendo diferentes funciones. ¿Qué error he […]

¿Cuál es la diferencia entre el método nested y los delegates?

Considere lo siguiente: 1er ENFOQUE: public void f3() { f2(); f1(); } y esto … 2º ENFOQUE: class Sample { public delegate void MyDelegate(string s); MyDelegate obj; public Sample() { obj += new MyDelegate(input); obj+=new MyDelegate(something); obj += new MyDelegate(someStaticMethod); } } Cuando llamo a f3 () llamará a las funciones enumeradas dentro de él […]

Extraño código descomstackdo a partir de un código de suscripción de eventos en una clase genérica

Esta clase simple public class Test { public static void A(Window wa, Window wb) { wa.Closed += (s, e) => wb.Close(); } } Se comstack a esto (estoy usando Reflector para descomstackr): public class Test { [CompilerGenerated] private sealed class c__DisplayClass1 { public Window wb; public void b__0(object s, EventArgs e) { this.wb.Close(); } } […]

C # Threading y eventos para dispositivo pin pad

Soy nuevo en C # y actualmente estoy trabajando en el código de backend para admitir el teclado PIN. Básicamente mi codigo OpenDevice() -> RequestPIN() -> key in PIN on PIN PAD -> GetResultPIN() -> ConsolePrintOutPIN() -> Print keyed PIN on the Console No sé cómo escribir un hilo para esto, por lo que una […]

¿Es una mala práctica usar Action and Func todo el tiempo en lugar de hacer los delegates correspondientes?

Mucho tiempo al crear eventos simples en mi progtwig al que se pueden suscribir otras clases en lugar de hacer un delegado y crear un evento desde el delegado. Simplemente creo el evento con Acción o Func para evitar tener que crear el delegado. ¿Hay algún inconveniente para hacer esto?