как перечислить переданные параметры метода

Можно перечислить типы / информацию о параметрах вызываемого метода следующим образом:

private void SomeMethod(int thisValue, string thatValue)
{
  StackTrace stackTrace = new StackTrace();
  foreach (ParameterInfo pInfo in stackTrace.GetFrame(0).GetMethod().GetParameters())
  {
    string name = pInfo.Name;
    string type = pInfo.GetType().ToString();
  }
}

Но есть ли способ получить фактический объект каждого параметра?

РЕДАКТИРОВАТЬМоя цель - перечислить все параметры и получить их значения. Используя выражения LinQ, можно получить значение параметра следующим образом:

private void SomeMethod(int thisValue, string thatValue)
{
  object valueOfThis = GetParameterValue(() => thisValue);
  object valueOfThat = GetParameterValue(() => thatValue);
}
private object GetParameterValue<T>(Expression<Func<T>> expr)
{
  var body = ((MemberExpression)expr.Body);
  return ((FieldInfo)body.Member).GetValue(((ConstantExpression)body.Expression).Value);
}

Но то, что я хотел бы сделать, это что-то вроде:

foreach (fooObject o in thisMethod.GetParameterObjects())
{
  object someValue = GetParameterValue(() => fooObject);
}

И тем самым иметь универсальный метод для сбора всех параметров и их значений.

Ответы на вопрос(3)

Ваш ответ на вопрос