StackTrace stackTrace = new StackTrace();
ParameterInfo[] parameters = stackTrace.GetFrame(1).GetMethod().GetParameters();
如上代码在调用微软的API时,只能获取参数的名称,不能获取参数的值。
在网上找了一个用PostSharp工具来获取函数参数名称和值,经整理代码如下:
class Program
{
static void Main(string[] args)
{
string filePath = @"C:\log.txt";
if (File.Exists(filePath))
{
FileStream fs = File.Create(filePath);
fs.Close();
}
Trace.Listeners.Add(new LogTraceListener(filePath));
Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));
MyClass my = new MyClass();
my.MyMethod(44, "asdf qwer 1234", 3.14f, true);
Console.ReadKey();
}
}
public class MyClass
{
public MyClass()
{