我知道标题可能有点不太描述清楚/措辞不够好,但这是我能想到的最好的了。
目前我有一个类,其中有很多像下面这样的方法:
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
关键字,因为类始终通过引用传递。 - Julien Lebosquain