Get-Parameter aus Aktion<T>

Wie bekomme ich den übergebenen Parameter in eine Action<T> ? Das code-Beispiel sollte hervorheben, was ich versuche zu erreichen. Sorry, dass es ein wenig lange.

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"}
    }
}

Nur die Optionen, die das Aussehen vage sinnvoll sind GetInvocationList(), Methode und Ziel. Aber keiner von Ihnen scheinen die Daten enthält, bin ich nach (ich denke es ist wegen der Art, habe ich erklärt, die Aktion). Dank

EDIT: Es sind nicht die Typen, die ich will, es ist die eigentliche Werte - wie bereits in den kommentierten code.

  • das ist nicht so, nur wenn es war foo.GetParams(x => x.Bar);
  • Sind Sie nach dem erfassten vars?
  • Ja, das ist richtig
  • Wenn Sie nichts dagegen haben mich gefragt, warum Sie dies tun müssen?
  • Ich weiß von verschiedenen Anwendungen, die ich verwendet habe, ist meistens für RPC abfangen.
  • Ich bin nur liebäugelt mit dem schreiben von ein Mocking-Framework (zum Spaß, nicht das wirkliche Leben). Dies war nur eine der Möglichkeiten, die ich habe versucht, herauszufinden, welche Parameter verwendet werden. Die syntax ist die gleiche wie Rhino Mocks.

InformationsquelleAutor RichK | 2010-12-05
Schreibe einen Kommentar