これはあまりにも不可能と思われる場合、plsは投票しません:)私は今まで私はいくつかの結果を得るために関数のパラメータとしてプロパティを渡すことができますか?プロパティとしてパラメータを渡すことは可能ですか?
たとえば、
void delete_button_click()
{
foreach (DataGridViewRow row in dgvRecords.SelectedRows)
dgvRecords.Rows.Remove(row);
}
そして唯一の違いはSelectedRows
とRows
あるので、
void delete_all_button click()
{
foreach (DataGridViewRow row in dgvRecords.Rows)
dgvRecords.Rows.Remove(row);
}
は、私は1つの機能で上記の2つのコードを書くことができたとします。このような何か:。
void button_click (/*DataGridView property rows*/)
{
foreach (DataGridViewRow row in dgvRecords.rows)
dgvRecords.Rows.Remove(row);
}
そして
{
button_click(DataGridView.Rows);
//and
button_click(DataGridView.SelectedRows);
}
別例えばそれを呼び出す、
decimal GetAmount1(User usr)
{
decimal sum = 0;
foreach (DataGridViewRow row in dgvRecords.Rows)
{
Tuple<User, User, Notification, Acknowledgment> tup = (Tuple<User, User, Notification, Acknowledgment>)row.Tag;
if (tup.Item1 == usr)
sum += tup.Item4.Sum;
}
return sum;
}
と
decimal GetAmount2(User usr)
{
decimal sum = 0;
foreach (DataGridViewRow row in dgvRecords.Rows)
{
Tuple<User, User, Notification, Acknowledgment> tup = (Tuple<User, User, Notification, Acknowledgment>)row.Tag;
if (tup.Item2 == usr)
sum += tup.Item4.Sum;
}
return sum;
}
上記のコードでの唯一の違いは、単に財産です。だから、これは提供されています:
decimal GetAmount(User usr, Tuple<User, User, Notification, Acknowledgment>.Property Item)
{
decimal sum = 0;
foreach (DataGridViewRow row in dgvRecords.Rows)
{
Tuple<User, User, Notification, Acknowledgment> tup = (Tuple<User, User, Notification, Acknowledgment>)row.Tag;
if (tup.Item == usr)
sum += tup.Item4.Sum;
}
return sum;
}
およびコール:
{
GetAmount(usr, Tuple<User, User, Notification, Acknowledgment>.Item1)
//and
GetAmount(usr, Tuple<User, User, Notification, Acknowledgment>.Item2)
}
?
[クラスのプロパティをメソッドのパラメータとして渡すにはどうすればいいですか?](http://stackoverflow.com/questions/1178574/how-can-i-pass-a-property-of -a-a-method-of-a-methodのメソッド) – nawfal