public class Song {
public string Genre { get; protected set; }
public string Name { get; protected set; }
public string Band { get; protected set; }
public Song(string name, string band, string genre) {
Name = name;
Genre = genre;
Band = band;
}
}
public interface IMusicVisistor
{
void Visit(List<Song> items);
}
public class MusicLibrary {
List<Song> _songs = new List<Song> { ...songs ... };
public void Accept(IMusicVisitor visitor) {
visitor.Visit(_songs);
}
}
और अब यहां एक आगंतुक मैंने बनाया है:उदाहरण
public class RockMusicVisitor : IMusicVisitor {
public List<Song> Songs { get; protected set; }
public void Visit(List<Song> items) {
Songs = items.Where(x => x.Genre == "Rock").ToList();
}
}
क्यों यह किसी भी सिर्फ एक सार्वजनिक संपत्ति गीत डाल और फिर वर्ग के किसी भी प्रकार दे इसके साथ कुछ भी कर से बेहतर है यह है कि चाहता हुॅ?
यह उदाहरण इस post से आता है।