我想知道是否可以使用变量作为属性或方法或命令。我的意思是,例如我会保存" .length"作为一个字符串,我们称之为len。然后将它用作单词作为属性。
例如:
String len = ".length"
string C = "Cat"
int L_Cat = C.len
现在这不起作用,但C.Length
可行。那么有没有办法让.Length
退出字符串状态并将其评估为属性?
答案 0 :(得分:2)
String len = "Length";
string C = "Cat";
var prop = C.GetType().GetProperty(len);
int i = (int)prop.GetValue(C);
答案 1 :(得分:0)
是的,您可以使用反射来执行此操作。
您可以编写类似于以下内容的代码:
string len = "Length";
string C = "Cat";
int L_Cat = (int)C.GetType()
.GetProperties()
.Single(x => x.Name == len)
.GetValue(C);