0

我想重构我的一些代码,所以我想为一些重复任务创建方法。根据上下文,其中一种方法包括使用属性处理某些东西。大多数属性是字符串,但也有 enum 和 int 类型。例如,方法应如下所示:

private void someMethod (int i, 'here should be property') {
//enter code here
}

那么,有人知道如何传递这些属性吗?

提前致谢!

另一种解释。此代码应更改标签属性:文本、字体...但是,应根据输入参数更改 label.Text。

它应该看起来像这样

private void setLabel (Label label, 'I dont know what goes here to pass a property') {
label.Text = user.'property'.toString();
//some more code
}
4

2 回答 2

1

如果您没有任何特殊原因要实际传递该属性,则可以只传递该属性的

private void setLabel (Label label, object propertyValue)
{
    label.Text = propertyValue.ToString();
}

然后这样称呼它:

setLabel(myLabel, user.ThePropertyIWant);
于 2012-08-19T17:32:12.017 回答
1

你应该可以用反射来做这样的事情:http: //www.dotnetperls.com/reflection-field

于 2012-08-19T17:27:00.730 回答