首页 > 编程语言 >C# 获取当前方法的名称空间、类名和方法名称

C# 获取当前方法的名称空间、类名和方法名称

时间:2022-11-16 22:44:50浏览次数:64  
标签:StackTrace DeclaringType C# System 名称 str 方法 类名

原文网址:http://t.zoukankan.com/cang12138-p-7714651.html

1.(new StackTrace()).GetFrame(1) // 0为本身的方法;1为调用方法
2.(new StackTrace()).GetFrame(1).GetMethod().Name; // 方法名
3.(new StackTrace()).GetFrame(1).GetMethod().ReflectedType.Name; // 类名

获取当前方法的名称空间、类名和方法名称

public string GetMethodInfo()
{
    string str = "";

    //取得当前方法命名空间    
    str += "命名空间名:" + System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Namespace + "
";

    //取得当前方法类全名 包括命名空间    
    str += "类名:" + System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName + "
";

    //取得当前方法名    
    str += "方法名:" + System.Reflection.MethodBase.GetCurrentMethod().Name + "
"; str += "
";

    //父方法
    System.Diagnostics.StackTrace ss = new System.Diagnostics.StackTrace(true);
    System.Reflection.MethodBase mb = ss.GetFrame(1).GetMethod();

    //取得父方法命名空间    
    str += mb.DeclaringType.Namespace + "
";

    //取得父方法类名    
    str += mb.DeclaringType.Name + "
";

    //取得父方法类全名    
    str += mb.DeclaringType.FullName + "
";

    //取得父方法名    
    str += mb.Name + "
"; return str;
}

标签:StackTrace,DeclaringType,C#,System,名称,str,方法,类名
From: https://www.cnblogs.com/bruce1992/p/16897817.html

相关文章

  • C++Primer 第2章
    第2章变量和基本类型数据类型是程序的基础:它告诉我们数据的意义以及我们能在数据上执行的操作。2.1基本内置类型C++定义了一套包括算术类型(arithmetictype)和空类型(vo......
  • CentOS 7 开启 iptables
    1、关闭CentOS7自带的 firewall防火墙#关闭防火墙systemctlstopfirewalld#取消开机启动systemctldisablefirewalld2、安装 iptables-services#Cetnos7默认已......
  • CentOS 7 安装 vsftpd
    1、安装 yum-yinstallvsftpdvi/etc/vsftpd/vsftpd.confuserlist_enable=NO#YES改为NO2、添加防火墙端口vi/etc/sysconfig/iptables-AINPUT-ptcp-mstate--stat......
  • CentOS 6.8 安装 Samba 服务器
    1、开启防火墙-AINPUT-mstate--stateNEW-mtcp-ptcp--dport139-jACCEPT-AINPUT-mstate--stateNEW-mtcp-ptcp--dport445-jACCEPT2、关闭SELINUX#临......
  • 【luffy】celery 使用
    目录1.celery快速使用2.Celery异步任务框架3.按装使用步骤4.celery包结构5.celery异步任务,延迟任务,定时任务5.1异步任务5.2延迟任务5.3定时任务6.django中使用ce......
  • CentOS 6.8 网络设置(有线)
    cd/etc/sysconfig/network-scripts/#切换到网络配置目录viifcfg-eth0#打开网卡配置文件DEVICE=eth0HWADDR=08:00:27:92:3C:1FTYPE=EthernetUUID=09848d3a-fff2-4b9b-a9d......
  • CentOS 如何更新 yum 源
    1、进入目录:cd/etc/yum.repos.d2、备份文件:mvCentOS-Base.repoCentOS-Base.repo.backup3、Centos6.8更新网易源 #Centos更新网易源curl-Ohttp://mirrors.163.co......
  • 19c 安装步骤
    1.修改hostsvim/etc/hosts2.添加用户和组[root@henry01~]#groupadd-g54321oinstall[root@henry01~]#groupadd-g54322dba[root@henry01~]#groupadd-g54323o......
  • C++学习------cstdint头文件的源码学习01---类型定义
    引言cstdint头文件是C++对stdint头文件的封装,这个头文件定义了一系列特定长度的类型别名,一系列值的上下限,以及一系列类型转换的宏。我们一起来看看它的内部实现。代码参考:......
  • CentOS 卸载 K8S
    1、删除 k8s 组件kubeadmreset-f2、删除其它容器和所有镜像dockerkill$(dockerps-a-q)dockerrm$(dockerps-a-q)dockerrmi-f$(dockerimages-q)3、清除ip......