タイトルはおそらくもっと説明的/より良いフレーズである可能性がありますが、私が思いつくのは最高でした。 メソッドのパラメータとしてプロパティを渡します。
は現在、私は、以下のもののように見える方法の多くのクラスがあります。 private static void UpdateArtists()
{
artists.Clear();
foreach (AudioInfo entry in library_entries)
{
artists.Add(entry.Artist, entry);
}
}
private static void UpdateAlbums()
{
albums.Clear();
foreach (AudioInfo entry in library_entries)
{
albums.Add(entry.Album, entry);
}
}
private static void UpdateGenres()
{
genres.Clear();
foreach (AudioInfo entry in library_entries)
{
genres.Add(entry.Genre, entry);
}
}
private static void UpdateYears()
{
years.Clear();
foreach (AudioInfo entry in library_entries)
{
years.Add(entry.Year, entry);
}
}
言うまでもなくし、これらは非常に面倒である数十を書きます。だから私は、それを単純化し、このような方法を作ることが可能かどうか疑問に思っていた:
private static void Update(Dictionary<string, AudioInfo> dictionary, AudioInfo.Property property)
{
dictionary.Clear();
foreach (AudioInfo entry in library_entries)
{
dictionary.Add(entry.property, entry);
}
//Where "property" is a property in the AudioInfo-class.
}
それはそうですか?どうやって?
ありがとうございます!
'ref'はまったく必要ないことに注意してください。クラスは常に参照によって渡されます。 –
もちろん、あなたはもちろんそうです。それはあなたが一晩中座っているときに得られるものです。 – Heidenreich
[クラスのプロパティをメソッドのパラメータとして渡すにはどうすればいいですか?](http://stackoverflow.com/questions/1178574/how-can-i-pass-a-property-of-a -class-a-a-methodのメソッド) – nawfal