¿Cómo obtengo los parámetros en un Action<T>
? El ejemplo del código debe resaltar lo que intento lograr. Lamento que sea un poco largo.Obtener los parámetros de la acción <T>
class Program
{
static void Main(string[] args)
{
Foo foo = new Foo();
foo.GetParams(x => x.Bar(7, "hello"));
}
}
class Foo
{
public void Bar(int val, string thing) { }
}
static class Ex
{
public static object[] GetParams<T>(this T obj, Action<T> action)
{
// Return new object[]{7, "hello"}
}
}
Las únicas opciones que parecen vagamente útiles son GetInvocationList(), Método y Destino. Pero ninguno de ellos parece contener los datos que estoy buscando (creo que es por la forma en que he declarado la Acción). Gracias
EDITAR: No son los tipos que quiero, son los valores reales, como se indica en el bit de código comentado.
@Henk, eso no es así, solo si fue foo.GetParams (x => x.Bar); –
@richK: ¿Estás buscando los vars capturados? –
@Henk - Sí, es correcto – RichK