将类属性作为方法的参数传递

时间:2012-08-19 14:51:20

标签: c#

我想重构一些代码,所以我想创建几个重复任务的方法。其中一种方法,取决于上下文,包括使用属性进行处理。大多数属性都是字符串,但也有枚举和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
}

2 个答案:

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