有没有办法在c#中从变量中获取命令?

时间:2017-05-18 10:42:48

标签: c#

我想知道是否可以使用变量作为属性或方法或命令。我的意思是,例如我会保存" .length"作为一个字符串,我们称之为len。然后将它用作单词作为属性。

例如:

String len = ".length"
string C = "Cat"
int L_Cat = C.len

现在这不起作用,但C.Length可行。那么有没有办法让.Length退出字符串状态并将其评估为属性?

2 个答案:

答案 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);