public class Class
{
private string Main()
{
string abc = "";
Test(abc);
} private void Test(string str)
{
//我在这个方法里怎么能得到传过来的变量名称?即"abc"
}
}
解决方案 »
- 60分啦,,,
- asp.net MVC 如何在aspx页面的head标签里输出Key为常量的ViewData呢?
- EXTJS2.0授权问题,EXTJS2.0普通开源版的需要授权吗?如果商用的话,充不充许呢?
- 公司开张,请英文好的朋友帮忙看看!
- 求asp.net源代码
- -------请问如何实现客户端向服务器上传文件?------
- 各位大哥大姐:谈谈你们是如何学ASP.NET的
- 请问Microsoft主页里的菜单是如何做的--能不能给一下源码?谢谢
- 怎样在asp.net中执行客户端exe应用程序!!
- 老师给的MVC项目自己运行时出了错误,求大佬帮忙
- Gridview控件的使用,
- WPF如何删除已经绘制好的3D图形?
我是想在Test里得到调用方法时传进来的那个变量名称
比如
有string a="";Test(a); 我要在Test里得到"a"
有string b="";Test(b); 我要在Test里得到"b"
有string c="";Test(c); 我要在Test里得到"c"
我表达能力不是特好,希望能明白我的意思
算是技术研究吧,自己想鼓捣个编程的小工具
这个地方当然也可以直接传过去"abc"之类的字符串,但是我想弄的是可以通过lanbda表达式来对实体类的属性去选择的
这样真的不行...
如果我的参数是int bool之类的呢?还有这里不能用object,而且我这个变量不赋值,再赋值就跟直接传过来一个"abc"意思差不多了
而且lamba提供了一套相对完整的库函数能处理很多问题
{
string abc = "123";
Test(p=>abc);
} private static void Test(Expression<Func<string,string>> exp)
{
var body = exp.Body as MemberExpression;
Console.WriteLine("参数名:" + body.Member.Name);
}
对的,是通过func之类来处理的,因为我怕我说不清楚所以没复制源码,只是写了一个简单的例子来说明我的问题
高手 膜拜~~~
还有一个问题要请教下
就是MemberExpression body = (MemberExpression)filter.Body;
var body = exp.Body as MemberExpression;这两句代码哪句效率更高?最好能帮小弟解释下