当前位置: 首页 > news >正文

C#获取当前方法的命名空间、类名称、方法名称以及方法的参数信息

C#获取当前方法的命名空间、类名称、方法名称以及方法的参数信息

  • 输出示例
  • 模块示例

输出示例

获取信息:WindowsFormsApp1.Form1.button1_Click(System.Object sender,System.EventArgs e)
引发的异常:“System.IndexOutOfRangeException”(位于 WindowsFormsApp1.exe 中)
异常信息: 在 WindowsFormsApp1.Form1.button1_Click(Object sender, EventArgs e) 位置 D:\Demo\WindowsFormsApp1\WindowsFormsApp1\Form1.cs:行号 32

模块示例

private void button1_Click(object sender, EventArgs e)
{try{string info = GetCurrentMethodName(MethodBase.GetCurrentMethod());Console.WriteLine("获取信息:" + info);int[] i = new int[1];Console.WriteLine(i[3]);}catch (Exception ex){Console.WriteLine("异常信息:" + ex.StackTrace);}
}public static string GetCurrentMethodName(MethodBase methodBase)
{StringBuilder builder = new StringBuilder();builder.Append($"{methodBase.DeclaringType.Namespace}.{methodBase.DeclaringType.Name}.{methodBase.Name}(");for (var i = 0; i < methodBase.GetParameters().Length; i++){var parameter = methodBase.GetParameters()[i];builder.Append($"{parameter.ParameterType} {parameter.Name}");if (i < methodBase.GetParameters().Length - 1){builder.Append($",");}}builder.Append($")");return builder.ToString();
}

相关文章:

  • 【区块链通用服务平台及组件】京北方分布式身份管理平台 | FISCO BCOS 应用案例
  • axios 模拟实现
  • AI驱动商业变革:零售行业的智能化跃迁
  • NOIP2013提高组.货车运输
  • vue,uniapp解决h5跨域问题
  • Linux中的管道
  • UE5有些场景的导航生成失败解决方法
  • PHP使用pandoc把markdown文件转为word
  • C语言超详细结构体知识
  • C++学习:六个月从基础到就业——内存管理:new/delete操作符
  • 如何在 Electron 应用中安全地进行主进程与渲染器进程通信
  • 探索 HumanoidBench:类人机器人学习的新平台
  • 浅谈验证(Verification)和确认(Validation)
  • 【2】CICD持续集成-k8s集群中安装Jenkins
  • 小红书爬虫,小红书api,小红书数据挖掘
  • 在windows上交叉编译opencv供RK3588使用
  • 超导体的应用价值:超导磁探测技术开启科技与生活的新变革
  • 树莓派5+Vosk+python实现语音识别
  • 基于spring boot 集成 deepseek 流式输出 的vue3使用指南
  • 「数据可视化 D3系列」入门第十章:饼图绘制详解与实现
  • 中国铝业首季“开门红”:净利润超35亿元,同比增加近六成
  • 生于1982年,孙晋出任共青团广西壮族自治区委员会书记
  • 长三角与粤港澳大湾区融合发展,无锡何以成为窗口?
  • 第四届全民阅读大会·阅读权益保障论坛举办
  • 中国围棋协会将不组队参加今年的LG杯世界棋王赛
  • 今天是世界读书日,上海准备了哪些文化大餐?