C#中如何获取当前正在执行的代码所在的函数(方法)的名字和参数等信息?

如题所述

第1个回答  推荐于2019-09-18
public static string GetMethodName()
{
var method = new StackFrame(1).GetMethod(); // 这里忽略1层堆栈,也就忽略了当前方法GetMethodName,这样拿到的就正好是外部调用GetMethodName的方法信息
var property = (
from p in method.DeclaringType.GetProperties(
BindingFlags.Instance |
BindingFlags.Static |
BindingFlags.Public |
BindingFlags.NonPublic)
where p.GetGetMethod(true) == method || p.GetSetMethod(true) == method
select p).FirstOrDefault();
return property == null ? method.Name : property.Name;
}本回答被网友采纳

C#中如何获取当前正在执行的代码所在的函数(方法)的名字和参数等信息...
public static string GetMethodName()\\x0d\\x0a{\\x0d\\x0a var method = new StackFrame(1).GetMethod(); \/\/ 这里忽略1层堆栈,也就忽略了当前方法GetMethodName,这样拿到的就正好是外部调用GetMethodName的方法信息\\x0d\\x0a var property = (\\x0d\\x0a from p in method.De...

c#怎么获取程序当前运行路径
一、获取当前文件的路径 string str1=Process.GetCurrentProcess().MainModule.FileName;\/\/可获得当前执行的exe的文件名。string str2=Environment.CurrentDirectory;\/\/获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。(备注:按照定义,如果该进程在本地或网络驱动器的根目录中启动,则此属性...

c#如何获取某一命名空间下的所有的类的信息(方法以及参数)
如果是当前下的。用Assembly.GetExecutingAssembly().GetTypes();如果是外部DLL,用Assembly.Load("namespace").GetTypes();原理是反射,所以上面一定要加上using System.Reflection;示例代码:var classes = Assembly.Load("test").GetTypes();foreach (var item in classes){ Console.WriteLine(item.N...

C#获取程序所在路径的几种方法?
stringstr1=Process.GetCurrentProcess().MainModule.FileName;\/\/可获得当前执行的exe的文件名。\\x0d\\x0astringstr2=Environment.CurrentDirectory;\/\/获取和设置当前目录(即该进程从中启动的目\\x0d\\x0a录)的完全限定路径。\\x0d\\x0a\/\/备注按照定义,如果该进程在本地或网络驱动器的根目录中启动...

C#如何在方法中获得方法名?
利用默认成员特性可以动态的获取此方法名 下面是一个示例:using System;using System.Reflection;namespace Cshcn { public class Program { static void Main(){ TestClass t=new TestClass();string methodName=t.GetMethod();\/\/调用成员GetMethod,并返回成员名 if(methodName!=null)Console....

C#中如何在后台运行检测当前操作的进程名称
[DllImport("user32.dll")]private static extern IntPtr GetForegroundWindow();\/\/获得即获得前台窗口句柄 函数(){ IntPtr ii = GetForegroundWindow();\/\/获得即获得前台窗口句柄 Process p = new Process();\/\/实例一个进程 p = Process.GetProcessesByName("msnmsgr")[0];\/\/以msn为例,msn...

c# 获得方法的调用者的调用者的类名,方法名等
ClassName:" + className + "\\nMethodName:" + method.Name); } } class Program { static void Main(string[] args) { SeleniumUtil.getFileName(); Console.ReadLine(); } }运行结果如下:

在C#中,如何根据主窗口的句柄,获取该窗口所属进程或者是进程的名字?
handle. HANDLE WINAPI GetProcessHandleFromHwnd( HWND hwnd, ); 这个函数通过窗口句柄获得进程句柄。有了进程句柄,PID是不是就知道怎么获得了?什么?不知道?那我告诉你,GetProcessId可以通过进程句柄获得进程ID: DWORD WINAPI GetProcessId( __in HANDLE Process );

C#怎么获得电脑指定路径下文件夹内的文件名称?
C#获取当前路径的方法如下:1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName -获取模块的完整路径。2. System.Environment.CurrentDirectory-获取和设置当前目录(该进程从中启动的目录)的完全限定目录。3. System.IO.Directory.GetCurrentDirectory()-获取应用程序的当前工作目录。这个...

在C# WinForm应用程序中如何获取当前窗体中被激发的控件名称?
每个事件都有有个Sender 参数,通过它即可判断,前提是你要能区分出那个类型的控件,比如:都是Button按钮,你可以这样做 Button source=(Button as sender);if(source!==null){ \/\/此时说明你点击的是按钮,具体那个按钮,要根据你设计时的需求来,比如你的按钮中的Tag标识类是那个按钮,那你就可以根据Tag...

相似回答