es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tag: DELEGATES

Forma genérica de intentar obtener y establecer en la caché el resultado de un método.

He creado un CacheService para almacenar cualquier objeto en caché. Cada vez que utilice la caché, seguiré estos pasos: string cacheKey = MI_CLAVE; var result = await _cacheProvider.TryGet<T>(cacheKey); if (result.IsSuccessful) { return result.Value; } <p>var data = /<em>…código para obtener los datos…</em>/ await _cacheProvider.Set(cacheKey, data, _settings.LifeTime); return data; Me gustaría . . . Read more

Parámetro de delegado en método de interfaz.

Me disculpo de antemano porque siento que explicaré lo que quiero hacer de una manera realmente mala. Tengo varios modelos en mi aplicación, cada uno de ellos implementa una interfaz llamada “IDatabaseItem”. Deseo que cada “IDatabaseItem” tenga un método de eliminación que devuelva true o false, pero también quiero que . . . Read more

Parámetro de acción con posibles múltiples argumentos

Tengo una función WaitAndRun. Quiero que este método sea muy genérico. public static IEnumerator WaitAndRun<T>(float time, Action<T> action, object arg) { yield return new WaitForSeconds(time); action((T)arg); } Funciona perfectamente con el siguiente ejemplo: void an_action(int x) { Debug.Log(x); } //… WaitAndRun<int>(1, an_action, 2); El problema es que quiero usar la . . . Read more

Acción con parámetros pre configurados

Quiero registrar algunas acciones / delegados / eventos o algo similar con parámetros predefinidos (sin parámetros en la llamada). Ejemplo: public Action acciones; public void Main() { acciones += Agregar(12); acciones += Mostrar(“algo”); acciones += Calcular(2, 4); acciones?.Invoke(); } public void Agregar(int k) { } public void Mostrar(string s) { . . . Read more

¿Se requiere `Marshall.GetFunctionPointerForDelegate()`?

Quiero pasar un callback desde C# al código nativo de Rust. En línea vi estos dos métodos: 1) Pasar directamente una función que se ajuste al tipo delegado. Api.set<em>on</em>new_connection(OnNewConnection); // ffi [DllImport] public static extern Result set<em>on</em>new_connection(OnNewConnection callback); 2) Crear una instancia del delegado, realizar su marshaling y pasar el . . . Read more