首页 新闻 会员 周边

如何获得变量的字符名称

0
悬赏园豆:10 [已关闭问题]
<P>假设我定义一个变量 int abc = 4;</P> <P>我想获得"abc"的字符串有什么办法吗?</P> <P>或者类A有属性Text,我想获得"A.Text"的字符串,有什么办法?</P>
问题补充: A.Text.ToString()是获得具体的的值, 我需要的是A.Text这个字符串,也就是属性的名称。 通过反射可以,但是必须搜寻符合名称。 现在想的是给出一个属性,获得属性的字符形式。
wanghualiang的主页 wanghualiang | 初学一级 | 园豆:90
提问于:2007-12-04 16:39
< >
分享
其他回答(10)
0
A.Text.ToString()不行吗
AndyFish | 园豆:1575 (小虾三级) | 2007-12-04 16:45
0
使用反射
PENGHAO-X | 园豆:20 (初学一级) | 2007-12-04 17:02
0
变量没有任何办法. 成员字段之类的可能通过反射获取.
deerchao | 园豆:8367 (大侠五级) | 2007-12-04 17:22
0
andyfish说的对啊 
张荣华 | 园豆:2020 (老鸟四级) | 2007-12-04 17:22
0
A.Text本来就是String的 int的可以转换成.ToString()
如烟 | 园豆:210 (菜鸟二级) | 2007-12-04 17:55
0
上面所说的我个人都非常认同!
刚刚 | 园豆:3151 (老鸟四级) | 2007-12-05 14:04
0
很不可理解的需求
Klesh Wong | 园豆:780 (小虾三级) | 2007-12-05 22:11
0
不妨说说具体的需求,可以换一个思路去实现
麒麟.NET | 园豆:3614 (老鸟四级) | 2007-12-06 15:39
0
在.net中,每个类都有自己的元数据,大家可以把它们理解成表。在这些表中存储着类成员的信息。我们可以通过访问这些表,来取得成员的信息。成员包括【属性,字段,方法等】 例如:我想去的类A的所有属性,如下: using System.Reflection; PropertyInfo[] properties = typeof(A).GetProperties(); 【假设A中的第三个属性是Text】: string textName = properties[3].Name; 此时textName的值就是“Text” 参考: http://msdn2.microsoft.com/zh-cn/library/system.reflection.propertyinfo(VS.80).aspx
荣- | 园豆:25 (初学一级) | 2007-12-06 17:20
0

使用反射,获取所有属性,然后遍历找值,看哪个属性的值是4,然后输出属性.name。。

class Program
{
static void Main()
{
test mytest = new test();
Type ty = mytest.GetType();
PropertyInfo[] pros = ty.GetProperties();
FieldInfo[] fiel = ty.GetFields( BindingFlags.Instance|BindingFlags.GetField|BindingFlags.NonPublic);

foreach (FieldInfo fil in fiel)
{
//成员变量
if(fil.GetValue(mytest)!=null&&fil.GetValue(mytest).ToString()=="5")
Console.WriteLine(fil.Name);
}
foreach (PropertyInfo p in pros)
{
Console.WriteLine(p.Name);
}
Console.ReadKey();
}


}
class test
{
int testfield = 5;
public string Text
{
get;
set;
}
}



咋觉得这么扯呢。。。

变量就不行了

Rookier | 园豆:652 (小虾三级) | 2012-02-02 13:50
0
 今天无聊的时候刚好写了一个。你看看能用否! http://www.cnblogs.com/gongy/p/lm-2015-04-03.html 
定格幸福 | 园豆:202 (菜鸟二级) | 2015-04-03 14:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册