首页 新闻 搜索 专区 学院

c#如何获取当前方法的参数值

0
[待解决问题]

在运行时动态的去加载他的参数列表的值

问题补充:

比如AOP中是怎么通过代理获取到当前方法的参数的

David·Li的主页 David·Li | 初学一级 | 园豆:76
提问于:2013-01-16 23:38
< >
分享
所有回答(5)
0

能否说仔细点呀!

彬彬@科比 | 园豆:43 (初学一级) | 2013-01-16 23:39

我和这个人的问题是一样的http://bbs.csdn.net/topics/120114184

支持(0) 反对(0) David·Li | 园豆:76 (初学一级) | 2013-01-16 23:40
0

能访问到啊,直接取

Qlin | 园豆:2403 (老鸟四级) | 2013-01-17 08:50

我面要获取所有参数值(可能参数比较多,不想一个个写),在方法异常的时候我要记录方法的参数值到日志。

支持(0) 反对(0) David·Li | 园豆:76 (初学一级) | 2013-01-17 09:02
0

应该是没有的,还是自己一个一个的写吧

chenping2008 | 园豆:9836 (大侠五级) | 2013-01-17 09:33

事实上我可以获取到这些东西:

StackTrace st = new StackTrace();
var parameters = st.GetFrame(0).GetMethod().GetParameters();

但是parameters参数集合里面好像又不包括形参的值,郁闷呢。

支持(0) 反对(0) David·Li | 园豆:76 (初学一级) | 2013-01-17 09:41

@大灰机: 看这个帖子:

http://s.yanghao.org/program/viewdetail.php?i=139719

估计是无解

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2013-01-17 09:45
0

在方法内再写一个保存参数值的方法,调用该方法时就把所有参数值存放到一个结构内保存到一个全局变量的List<Struct>里去。

跟反射一点关系都没。这些值都是调用方法时才能决定的。

林J | 园豆:202 (菜鸟二级) | 2013-01-30 08:38
0

postsharp可以做

巴西球星 | 园豆:206 (菜鸟二级) | 2014-11-19 16:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册