asked on
public delegate List<MusicFile> MakeMusicFileList();
public delegate List<SongElement> MakeSongElementList();
public class MusicFile
{
public static List<MusicFile> List()
{
return new List<MusicFile> () ;
}
}
public class SongElement
{
public static List<SongElement> List()
{
return new List<SongElement>();
}
}
public class Perform
{
public event MakeMusicFileList ListMusicFiles;
public event MakeSongElementList ListSongElements;
public void DoPerform()
{
List<MusicFile> musicFiles = null;
List<SongElement> songElements = null;
if (this.ListMusicFiles != null)
musicFiles = this.ListMusicFiles();
if (this.ListSongElements != null)
songElements = this.ListSongElements();
//how to make the delagates working asynchronously with BeginInvoke() and EndInvoke?
}
}
class Program
{
static void Main(string[] args)
{
Perform p = new Perform();
p.ListMusicFiles += MusicFile.List;
p.ListSongElements += SongElement.List;
p.DoPerform();
}
}