标题:请教:能否用字符串代表“自定义类型中的成员名称”
只看楼主
venomlk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:14
专家分:85
注 册:2009-2-18
结帖率:100%
 问题点数:0 回复次数:3 
请教:能否用字符串代表“自定义类型中的成员名称”
例如:
class abc
{
    public int a;
    public int b;
    public int c;
}
string bl="b";
abc k=new abc{a=1,b=2,c=3};
正常情况下是:messagebox.show(k.b.tostring());
我想实现的类似方式是:k.b中的b,我想用字符串("b")来代替(也就是说,也可以用字符串"c"来代替k.c),不知是否可以,请教下各位老师,谢谢
搜索更多相关主题的帖子: 名称 int abc 字符串 public 
2020-07-11 11:30
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:620
专家分:3020
注 册:2011-4-22
得分:0 
int c;c是变量
“c”是常量,是固定不变的
2020-07-12 01:59
venomlk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:14
专家分:85
注 册:2009-2-18
得分:0 
回复 2楼 zbjzbj
多谢版主回复。。
可能是我没有表达清楚,我再举个例子。。呵呵
class1 c=new class1();  
c.a=1;   类里有一个a属性
c.b="a"; 同时还有一个b属性
1、messagebox.show(c.b);   一般情况下需要这么写来获取类中的b属性的值
2、messagebox.show(c.gettype().getproperty("b").getvalue(c, null).tostring());  也能这么写,同时把getproperty("b")改为getproperty("a")也能获取a属于的值
但是第二条语句只能用于“对象中的属性”,不能用于“自定义类型中的成员变量”

我的最终目的是想用一个变量"bl"来代替自定义类型中的成员名称"a"或"b"。。不知我表达清楚没有。。呵呵
2020-07-12 09:24
venomlk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:14
专家分:85
注 册:2009-2-18
得分:0 
已通过其它方法变通解决,多谢大家关注
2020-07-15 10:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-502485-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 2.709280 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved