C#编程,反射获取命名空间、类名、方法名

2023-10-27

原文:https://www.cnblogs.com/xdot/p/8651506.html

1、利用反射动态加载dll

using System.Reflection;


Assembly asm = Assembly.LoadFrom(AppDomain.CurrentDomain.BaseDirectory+ "/DeclareDLL/YunDouTaxLib.dll");我们要调用的dll文件路径
//加载dll后,需要使用dll中某类.
Type t = asm.GetType("namespace.classname");//获取类名,必须 命名空间+类名  

 //实例化类型
object o = Activator.CreateInstance(t);

//得到要调用的某类型的方法
MethodInfo method = t.GetMethod("functionname");//functionname:方法名字

object[] obj =
{
     Parameters[0].TaxpayerName,
     Parameters[0].TaxpayerTaxCode,
     Parameters[0].CAPassword
};
//对方法进行调用
var keyData = method.Invoke(o, obj);//param为方法参数object数组

2、获取当前程序集信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Reflection;

namespace GetMethodNameSpace
{
    class Program
    {
        public static string GetMethodInfo()
        {
            string str = "";
            //取得当前方法命名空间
            str += "命名空间名:" + System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Namespace + "\n";
            //取得当前方法类全名
            str += "类名:" + System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName + "\n";
            //取得当前方法名
            str += "方法名:" + System.Reflection.MethodBase.GetCurrentMethod().Name + "\n";
            str += "\n";

            StackTrace ss = new StackTrace(true);
            MethodBase mb = ss.GetFrame(1).GetMethod();
            //取得父方法命名空间
            str += mb.DeclaringType.Namespace + "\n";
            //取得父方法类名
            str += mb.DeclaringType.Name + "\n";
            //取得父方法类全名
            str += mb.DeclaringType.FullName + "\n";
            //取得父方法名
            str += mb.Name + "\n";
            return str;
        }

        public static void Main()
        {
            Console.WriteLine(GetMethodInfo());

            Console.ReadKey();
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C#编程,反射获取命名空间、类名、方法名 的相关文章

随机推荐

  • 2-2、java详述scope作用

    创建Java项目 一个类是Test类 包名com jd test 一个类是UserInfo类 包名com jd vo 还有一个application xml
  • 使用Python,Matplotlib显示RGB图像

    使用Python Matplotlib显示RGB格式的 图像 1 效果图 2 源码 参考 这篇博客将介绍如何使用matplotlib显示RGB图像 具体是使用matplotlib pyplot和mpimg来加载和显示图像 调用plt axi
  • 电机驱动详解--从原理到智能车驱动(DRV8701)

    目录 1 全H桥电路驱动电机原理 2 H桥工作模式 3 死区控制 1 全H桥电路驱动电机原理 从上图可以看出 电路是由四个NMOS管 一个motor 以及VCC GND所构成的 可以控制栅极的电平高低 来控制NMOS管的开通与关闭 所以可以
  • Jmeter 课程笔记(四)关联

    LR中有手动关联和自动关联 Jmeter中只有手动关联 自动关联准确性低 1 第一种关联方式 Http请求 右键 后置处理器 正则表达式提取器 将其放在生成想要关联的页面下 在页面中找到其位置复制当前区域 源码中有相似的值对该区域进行拓展复
  • vbs之createobject大全

    2007年10月30日 11 12 00 ADO对象ConnectionCommandRecordSetRecordStreamServer CreateObject Scripting FileSystemObject Server Cr
  • 【论文精读】CVRecon: Rethinking 3D Geometric Feature Learning For Neural Reconstruction

    今天读的是一篇发表在ICCV2023上的文章 试图使用mvs的方法来助力neural reconstruction 项目地址 点击前往 文章地址 点击前往 文章目录 Abstract 1 Introduction 2 Related Wor
  • React 开发用到的chrome扩展插件

    1 安装react developer tools开发工具 1 下载地址 https pan baidu com s 1eSZsXDC 下载好是一个crx 格式的文件 把下载后的 crx扩展名的离线Chrome插件的文件扩展名改成 zip或
  • Google colab 阻止自动掉线

    Google colab 可以免费使用GPU TPU等计算资源进行人工智能计算 但计算页面隔一段时间无操作之后就会自动掉线 之前训练的数据都会丢失 最后终于找到了一种可以让其自动保持不离线的方法 用一个js程序自动点击连接按钮 代码如下 f
  • 详细介绍下Rational Rose及其功能与优点

    Rational Rose是一款由IBM公司开发的商业软件工具 主要用于软件建模和设计 它支持多种软件工程方法 如面向对象分析和设计 OOA D 面向过程分析和设计 PPA D 数据流分析和设计 DFD 等 Rational Rose提供了
  • mysql5 存储过程

    MySql5 0以后均支持存储过程 最近有空 研究了一把这个格式 CREATE PROCEDURE 过程名 过程参数 特性 过程体CREATE FUNCTION 函数名 函数参数 RETURNS 返回类型 特性 函数体过程参数 IN OUT
  • UE 虚幻引擎项目启动快捷键

    1 Epic Games Launcher目录下找到UnrealVersionSelector exe 2 将UnrealVersionSelector exe添加到任务栏 鼠标右键点击 可以看到所有打开的UE项目 不限UE版本 鼠标左键点
  • IP反查域名

    IP反查域名 ip反查域名的三种方法 方法有很多 我这边只描述三种 也算是两种 1 在线网站 http stool chinaz com same 2 在线网站 https site ip138 com 3 工具 https github
  • 程序员如何实现财富自由?

    有国外的码农在论坛里提问 为了过上更好的生活我两年前移民到法国后 开始从事前端开发 我的月薪从当时的1 5万涨到现在的1 9万 这样的工资还算可以 但我觉得不够多 我在想为什么所有人都能赚大钱 而我作为码农 实在不知道该如何提高自己的收入
  • 给VMware Workstation 16 Pro中安装的Ubuntu 20.04.3 LTS安装VMware Tools

    安装VMware Tools 点击虚拟机 安装VMware Tools 如果之前安装过 则是 重新安装VMware Tools 之后启动虚拟机 在虚拟机中出现一个DVD光盘 如果没有 则点击虚拟机 可移动设备 CD DVD 设置使用ISO映
  • Linux任务前后台的切换 【转】

    文章来源 Linux任务前后台的切换 Shell支持作用控制 有以下命令实现前后台切换 1 command 让进程在后台运行 2 jobs 查看后台运行的进程 3 fg n 让后台运行的进程n到前台来 4 bg n 让进程n到后台去 5 k
  • 简单HTML网页制作 实例

    HTML网页制作 1 新建文本文档 以 html 结尾 2 用html网页逻辑器打开 这里我们用Sublime Text打开 Tips 使用 Tab 按键 那么就可以自动生成HTML文档模板 推荐大家使用的前端工具有 Vscode hbui
  • Mysql在哪些场景会flush脏页?

    我们在日常使用sql中 查询数据库反映的时间过长 这时候可能是flush脏页导致的 而脏页会什么时候触发呢 当查询的数量太多 每次全量查询都会淘汰掉脏页从而触发磁盘的I O操作户导致查询时间过长 当innoDB的redo log满了后 这时
  • [机器学习与scikit-learn-48]:特征工程-特征选择(降维)-3-初级过滤:方差过滤法

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 123970142 目录 前言 第1章
  • 李宏毅 机器学习笔记 Classification

    1 绪论 Classification Probabilistic Generative Model 本节课讲的是基于概率生成模型的分类 分类任务本质上是找到一个函数 函数的输入是输入数据 输出是类别 应用范围比较广 例如信用卡评分 医学诊
  • C#编程,反射获取命名空间、类名、方法名

    原文 https www cnblogs com xdot p 8651506 html 1 利用反射动态加载dll using System Reflection Assembly asm Assembly LoadFrom AppDom