【发布时间】:2012-11-08 15:28:39
【问题描述】:
有没有办法用变量来引用属性名?
场景:对象 A 具有公共整数属性 X 和 Z,所以...
public void setProperty(int index, int value)
{
string property = "";
if (index == 1)
{
// set the property X with 'value'
property = "X";
}
else
{
// set the property Z with 'value'
property = "Z";
}
A.{property} = value;
}
这是一个愚蠢的例子,所以请相信,我有这个用处。
【问题讨论】:
-
很难理解你想要完成什么。
-
你可以使用 System.Reflection 来做到这一点,例如参考这个stackoverflow.com/questions/619767/…。
-
我很好奇为什么你会做这样的事情而不是使用像属性这样的属性?
-
@Jared 如果可能的话,你应该相信它会有用。
-
完全是@T.Todua。现在我已经习惯了极其复杂的反射,因为我已经发布了这个,我意识到他们是如何忽视这个问题的。
标签: c# reflection system.reflection