Başlığın muhtemelen daha açıklayıcı/daha iyi bir şekilde ifade edilmiş olabileceğini biliyorum, ancak en iyi ihtimalle gelebiliyordum. Metodu parametre olarak geçirme yöntemi
Şu anda, aşağıda belirtilenler gibi bakıyor yöntemlerden bir sürü bir sınıf var: 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);
}
}
Söylemeye gerek, bu çok yorucu olduğu onlarca yazma. Bu yüzden bunu basitleştirmek ve böyle bir yöntem şey yapmak mümkün olup olmadığını merak ediyorum:
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.
}
o yapılabilir mi ve eğer; Nasıl?
Teşekkürler!
"Ref" 'e ihtiyacınız olmadığını unutmayın, sınıflar her zaman referans olarak iletilir. –
Heh, tabi ki haklısın. Bütün gece oturduğunuzda aldığınız şey budur. – Heidenreich
olası bir kopyası [Bir metodun bir özelliği olarak bir sınıfın özelliğini nasıl geçirebilirim?] (Http://stackoverflow.com/questions/1178574/how-can-i-pass-a-property-of-a -class-as-a-parameter-of-a-yöntem) – nawfal