Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 38607
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T14:44:05+00:00 2026-05-10T14:44:05+00:00

I would like to be able to obtain all the parameter values from the

  • 0

I would like to be able to obtain all the parameter values from the stack frame in .NET. A bit like how you’re able to see the values in the call stack when in the Visual Studio debugger. My approach has concentrated on using the StackFrame class and then to reflect over a ParameterInfo array. I’ve had success with reflection and properties, but this is proving a bit trickier.

Is there an approach for achieving this?

The code so far looks like this:

class Program {     static void Main(string[] args)     {         A a = new A();         a.Go(1);     } }  public class A {     internal void Go(int x)     {         B b = new B();         b.Go(4);     } }  public class B {     internal void Go(int y)     {         Console.WriteLine(GetStackTrace());      }     public static string GetStackTrace()     {         StringBuilder sb = new StringBuilder();         StackTrace st = new StackTrace(true);         StackFrame[] frames = st.GetFrames();          foreach (StackFrame frame in frames)         {             MethodBase method = frame.GetMethod();              sb.AppendFormat('{0} - {1}',method.DeclaringType, method.Name);             ParameterInfo[] paramaters = method.GetParameters();             foreach (ParameterInfo paramater in paramaters)             {                 sb.AppendFormat('{0}: {1}', paramater.Name, paramater.ToString());             }             sb.AppendLine();         }         return sb.ToString();     } } 

The output looks like this:

SfApp.B - GetStackTrace SfApp.B - Go y: Int32 y SfApp.A - Go x: Int32 x SfApp.Program - Main args: System.String[] args 

I’d like it to look more like this:

SfApp.B - GetStackTrace SfApp.B - Go y: 4 SfApp.A - Go x: 1 SfApp.Program - Main 

Just for a bit of context, my plan was to try and use this when I throw my own exceptions. I’ll look at your suggestions in more detail and see if I can see it fitting.

  • 1 1 Answer
  • 1 View
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T14:44:05+00:00Added an answer on May 10, 2026 at 2:44 pm

    It seems it can’t be done that way. It will only provide meta information about the method and its parameters. Not the actual value at the time of the callstack.

    Some suggest deriving your classes from ContextBoundObject and use IMessageSink to be notified off all method calls and the values of the parameters. This is normally used for .NET Remoting.

    Another suggestion might be to write a debugger. This is how the IDE gets its information. Microsoft has Mdbg of which you can get the source code. Or write a CLR profiler.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm using .NET 3.5 and would like to be able to obtain every *
I would like to be able to get a list of all possible files
Would like to be able to set colors of headings and such, different font
I would like to be able to change the size of text in a
I would like to be able to abort a specific sql statement if it
I would like to be able to add a new SQL LOGIN and name
I would like to be able to automate data entry to an Open Office
I would like to be able to use the same Session variable when transferring
I would like to be able to spawn a linux process that would only
I would like to be able to massage certain categories of news feeds to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.