我想重构一些代码,所以我想创建几个重复任务的方法。其中一种方法,取决于上下文,包括使用属性进行处理。大多数属性都是字符串,但也有枚举和int类型。 例如,方法应如下所示:
private void someMethod (int i, 'here should be property') {
//enter code here
}
那么,有人知道如何传递这些属性吗?
提前致谢!
另一种解释。此代码应更改标签属性:text,font ...但是,label.Text应根据entry参数进行更改。
它看起来应该是这样的
private void setLabel (Label label, 'I dont know what goes here to pass a property') {
label.Text = user.'property'.toString();
//some more code
}
答案 0 :(得分:1)
你应该能够用反射做这样的事情: http://www.dotnetperls.com/reflection-field
答案 1 :(得分:1)
如果您没有任何特殊原因要实际传递该属性,则只需传递该属性的值:
private void setLabel (Label label, object propertyValue)
{
label.Text = propertyValue.ToString();
}
然后称之为:
setLabel(myLabel, user.ThePropertyIWant);