using System.Collections.Generic;
static void Main(string[] args)
Tester t = new Tester( );
public class MediaStorage
public delegate int PlayMedia( );
public void ReportResult(PlayMedia playerDelegate)
if (playerDelegate( ) == 0)
Console.WriteLine("Media played successfully.");
Console.WriteLine("Media did not play successfully.");
private int audioPlayerStatus;
public int PlayAudioFile( )
Console.WriteLine("Simulating playing an audio file here.");
return audioPlayerStatus;
private int videoPlayerStatus;
public int PlayVideoFile( )
Console.WriteLine("Simulating a failed video file here.");
return videoPlayerStatus;
MediaStorage myMediaStorage = new MediaStorage( );
AudioPlayer myAudioPlayer = new AudioPlayer( );
VideoPlayer myVideoPlayer = new VideoPlayer( );
MediaStorage.PlayMedia audioPlayerDelegate = new
MediaStorage.PlayMedia(myAudioPlayer.PlayAudioFile);
MediaStorage.PlayMedia videoPlayerDelegate = new
MediaStorage.PlayMedia(myVideoPlayer.PlayVideoFile);
myMediaStorage.ReportResult(audioPlayerDelegate);
myMediaStorage.ReportResult(videoPlayerDelegate);