0

コードの一部をリファクタリングしたいので、いくつかの繰り返しタスクのメソッドを作成したいと思います。コンテキストに応じて、メソッドの1つには、プロパティを使用して何かを操作することが含まれます。ほとんどのプロパティは文字列ですが、enum型とint型もあります。たとえば、メソッドは次のようになります。

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

それで、誰かがこのプロパティを渡す方法を知っていますか?

前もって感謝します!

別の説明。このコードはラベルのプロパティを変更する必要があります:text、font ...ただし、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

あなたはリフレクションでそのようなことをすることができるはずです:http: //www.dotnetperls.com/reflection-field

于 2012-08-19T17:27:00.730 に答える
1

実際にプロパティを渡したい特別な理由がない場合は、そのプロパティの値を渡すことができます。

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

そしてそれを次のように呼びます:

setLabel(myLabel, user.ThePropertyIWant);
于 2012-08-19T17:32:12.017 に答える