C#调用方法时获取方法名、类名、命名空间

  1. 创建被调用的类:
csharp 复制代码
using System;
using System.Diagnostics;
using System.Reflection;

namespace Test
{
    public class Util
    {
        public void GetName()
        {
            Console.WriteLine("被调用者信息:");
            Type t = GetType();
            Console.WriteLine(t.Name);
            Console.WriteLine(t.FullName);
            

            StackTrace stackTrace = new StackTrace(true);
            MethodBase methodBase = stackTrace.GetFrame(1).GetMethod();

            Console.WriteLine(MethodBase.GetCurrentMethod().DeclaringType.Namespace);
            Console.WriteLine(MethodBase.GetCurrentMethod().DeclaringType.FullName);
            Console.WriteLine(MethodBase.GetCurrentMethod().Name);

            Console.WriteLine("\n调用者信息:");
            Console.WriteLine(methodBase.DeclaringType.Namespace);
            Console.WriteLine(methodBase.DeclaringType.Name);
            Console.WriteLine(methodBase.Name);
        }
    }
}
  1. 创建调用者,也就是Main函数
csharp 复制代码
using System;
using Test;

namespace TestCSharp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            var u = new Util();
            u.GetName();
            Console.ReadLine();
        }
    }
}
  1. 输出结果

    被调用者信息:
    Util
    Test.Util
    Test
    Test.Util
    GetName

    调用者信息:
    TestCSharp
    Program
    Main

参考:

https://blog.csdn.net/weixin_45581482/article/details/117032083

相关推荐
李燚14 小时前
Go 项目怎么组织:DDD 4 层 vs MVC vs 脚本式
开发语言·golang·mvc·ddd·agent框架·eino
2zcode14 小时前
免费开源项目文档:基于MATLAB图像处理的啤酒瓶口缺陷检测系统设计与实现
开发语言·图像处理·matlab
人工智能时代 准备好了吗14 小时前
AI回答内容进入率监测:引用识别、文本匹配与语义判断
开发语言·人工智能·python
LONGZETECH14 小时前
新能源汽车动力电池检测仿真教学系统:C/S 分层架构与数字化实训落地全解析
大数据·c语言·开发语言·人工智能·架构·系统架构·汽车
郝学胜-神的一滴14 小时前
中级OpenGL教程 013:渲染器类架构设计与逐帧渲染流程详解
开发语言·c++·unity·游戏引擎·图形渲染·opengl·unreal
Metaphor69215 小时前
使用 Python 冻结 Excel 文件中的行、列和单元格
开发语言·python·excel
言乐615 小时前
Python实现建造微服务商城后台
开发语言·python·算法·微服务·架构
hixiong12316 小时前
TensorRT转换工具分享
人工智能·计算机视觉·ai·c#
cui_ruicheng16 小时前
Python从入门到实战(六):非序列容器
开发语言·python
西西学代码16 小时前
Flutter---底部导航栏(2)
开发语言·javascript·flutter