Gibt es eine Möglichkeit, ein Array der an eine Methode übergebenen Argumente abzurufen?

Sag ich habe eine Methode:

 public void SomeMethod(String p1, String p2, int p3)
 {

 #if DEBUG
    object[] args = GetArguments();
    LogParamaters(args);
 #endif

     // Do Normal stuff in the method
 }

Gibt es eine Möglichkeit, ein Array der an die Methode übergebenen Argumente abzurufen, damit sie protokolliert werden können?

Ich habe eine große Anzahl von Methoden und möchte vermeiden, dass die Argumente manuell als Namen an den Logger übergeben werden, da sich unweigerlich menschliches Versagen einschleicht.

Ich vermute, es wird in irgendeiner Form Reflexion beinhalten - was in Ordnung ist, da es nur für Debugging-Zwecke verwendet wird.

Aktualisiere

Ein bisschen mehr Informationen:

Ich kann die Methodensignatur von SomeMethod nicht ändern, da sie als WebMethod verfügbar gemacht wird und das veraltete System replizieren muss, dessen Identität sie annimmt.

Das Altsystem protokolliert bereits die übergebenen Argumente. Zu Beginn der neuen Implementierung wird das Altsystem umgebrochen. Ich versuche daher, die in der C # -Version enthaltenen Parameter zu protokollieren, damit überprüft werden kann, ob die richtigen Parameter übergeben wurden in der richtigen Reihenfolge.

Ich versuche nur, die Argumentwerte und die Reihenfolge zu protokollieren, nicht deren Namen.

Antworten auf die Frage(18)

Ihre Antwort auf die Frage