C#通过反射获取上层调用方法信息

            System.Diagnostics.StackFrame frame = new System.Diagnostics.StackFrame(1);
            System.Reflection.MethodBase method = frame.GetMethod();
            string namspace = method.DeclaringType.Namespace;
            string clasName = method.ReflectedType.Name;
            string meth = method.Name;
            string FullName = method.DeclaringType.FullName + "." + meth;            string path = AppDomain.CurrentDomain.BaseDirectory + "/Log/";            System.Threading.ThreadPool.QueueUserWorkItem((e) =>            {                try                {                    if (!Directory.Exists(path))                    {                        Directory.CreateDirectory(path);                    }                    path += System.DateTime.Now.ToString("yyyy-MM-dd") + ".txt";                    if (!File.Exists(path))                    {                        using (File.Create(path)) { };                    }                    FileStream fs = new FileStream(path, FileMode.Append, FileAccess.Write);                    StreamWriter sw = new StreamWriter(fs);                    sw.WriteLine("----------------------------------" + System.DateTime.Now.ToString() + "------------------------------------\r\n\r\n异常信息为:\r\n  " + ex + "\r\n");                    sw.WriteLine("异常信息");                    sw.Close();                    fs.Close();                }                catch                { }            });
时间: 2024-08-02 04:46:02

C#通过反射获取上层调用方法信息的相关文章

通过反射获取及调用方法(Method)

1.获取方法使用反射获取某一个类中的方法,步骤:①找到获取方法所在类的字节码对象②找到需要被获取的方法 Class类中常用方法: public Method[] getMethods():获取包括自身和继承过来的所有的public方法 public Method[] getDeclaredMethods():获取自身所有的方法(不包括继承的,和访问权限无关) public Method getMethod(String methodName,Class<?>...parameterTypes)

Java反射获取类和对象信息全解析

反射可以解决在编译时无法预知对象和类是属于那个类的,要根据程序运行时的信息才能知道该对象和类的信息的问题. 在两个人协作开发时,你只要知道对方的类名就可以进行初步的开发了. 获取类对象 Class.forName(String clazzName)静态方法 调用类的class属性,Person.class返回的就是Person的class对象(推荐使用) 调用某个对象的getClass()方法 具体使用还是要根据实际来选择,第一种方式是比较自由的,只要知道一个类名就可以了,其不会做该类是否存在的

Java 使用反射获取类、方法、属性上的注释

有的时候我们想使用反射获取某个类的注释.方法上的注释.属性上的注释. 下面是一个简单的例子.里面包括了上面提到的三个点. package com.mine.practice.reflectfield; import java.lang.annotation.Annotation; import java.lang.reflect.Field; import java.lang.reflect.Method; import javax.xml.bind.annotation.XmlAccessTy

通过class类获取类的方法信息

测试:

反射 获取 字段的Description信息

var memInfo = enumType.GetType().GetMember(enumType.ToString()); var attributes = memInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false).Cast<DescriptionAttribute>(); if (attributes.Any()) return attributes.First().Description; return s

Android开发之通过反射获取到Android隐藏的方法

在PackageManger中,有些方法被隐藏了,无法直接调用,需要使用反射来获取到该方法. 比如方法:getPackageSizeInfo(),通过这个方法可以获取到apk的CacheSize,CodeSize,DataSize等信息,但是该方法是隐藏的,@hide. 遇到这种情况,需要使用反射: 1 try { 2 //通过反射,获取到PackageManager隐藏的方法getPackageSizeInfo() 3 Method getPackageSizeInfo = PackageMa

Android逆向之旅---获取加固后应用App的所有方法信息

一.前言 在逆向应用的时候,我们有时候希望能够快速定位到应用的关键方法,在之前我已经详细介绍了一个自己研发的代码动态注入工具icodetools,来进行动态注入日志信息到应用中,不了解的同学可以查看这里:icodetools动态注入代码解析,看完之后都会发现这个工具对于现在加固的应用是没有办法的,所以我们如何能够得到加固的应用的所有方法信息呢?再不用复杂的脱壳步骤也可以轻松的获取对应的方法信息.这个就是本文需要介绍的内容. 二.获取加固应用方法 在之前了解过加固应用原理的同学或者是弄过脱壳的同学

android黑科技系列——获取加固后应用App的所有方法信息

一.前言 在逆向应用的时候,我们有时候希望能够快速定位到应用的关键方法,在之前我已经详细介绍了一个自己研发的代码动态注入工具icodetools,来进行动态注入日志信息到应用中,不了解的同学可以查看这里:icodetools动态注入代码解析,看完之后都会发现这个工具对于现在加固的应用是没有办法的,所以我们如何能够得到加固的应用的所有方法信息呢?再不用复杂的脱壳步骤也可以轻松的获取对应的方法信息.这个就是本文需要介绍的内容. 二.获取加固应用方法 在之前了解过加固应用原理的同学或者是弄过脱壳的同学

golang使用reflects调用方法时,方法名需要首字母大写

golang在服务端处理api请求,因为在其他语言中定义方法一般使用小写开头, 给服务端传递ApiName时一般使用的是小写首字母的方法名. 如果直接使用小写方法名定义方法,将无法通过golang的reflect反射获取和调用. 建议在增加前缀"API_"    如 API_login来定义Api结构的方法 type Api struct{ } func(this *Api)API_login(){ } requestStr := "usr/login/HYUKGDHJHDY