当前位置: 首页 > 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系列」入门第十章:饼图绘制详解与实现
  • 中国固体火箭发动机领域杰出专家赵殿礼逝世,享年92岁
  • 停电催生商机,中国品牌 “照亮” 西班牙
  • 共绘“彩色上海”,IP SH艺术共创沙龙首期圆满举办
  • 辽宁辽阳市白塔区一饭店发生火灾,当地已启动应急响应机制
  • 大学男生被捉奸后将女生推下高楼?桂林理工大学辟谣
  • 新疆维吾尔自治区原质量技术监督局局长刘新胜接受审查调查