static void Main(string[] args) { int delegatesNum = 10; Random r = new Random(); RandomDelegate[] rand = new RandomDelegate[delegatesNum]; for (int i = 0; i < delegatesNum; i++) { rand[i] = delegate() { return(r.Next(100)); }; } DelegateArray delArray = delegate(RandomDelegate[] randArray) { int sum = 0; for (int i = 0; i < delegatesNum; i++) { sum += randArray[i](); } return(sum / delegatesNum); }; Console.WriteLine("Average value: {0}", delArray(rand)); Console.ReadKey(); }
protected internal Track(Session session, IntPtr trackPtr) { if (trackPtr == IntPtr.Zero) throw new ArgumentException("trackPtr can't be zero."); if (session == null) throw new ArgumentNullException("Session can't be null."); this.session = session; this.trackPtr = trackPtr; lock (libspotify.Mutex) libspotify.sp_track_add_ref(trackPtr); this.artists = new DelegateArray<IArtist>(() => { IsAlive(true); lock (libspotify.Mutex) return libspotify.sp_track_num_artists(trackPtr); }, (index) => { IsAlive(true); lock (libspotify.Mutex) return Artist.Get(session, libspotify.sp_track_artist(trackPtr, index)); }); session.DisposeAll += new SessionEventHandler(session_DisposeAll); }
static void Main(string[] args) { int[] a = new int[10]; Console.WriteLine("Enter size of Array:"); int n = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Enter {0} Elements:", n); for (int i = 0; i < n; i++) { a[i] = Convert.ToInt32(Console.ReadLine()); } Console.WriteLine("Enter Element to be Searched:"); int x = Convert.ToInt32(Console.ReadLine()); DelegateArray delegateArray = new DelegateArray(Array.FindElement); delegateArray(a, x); }
static void Main(string[] args) { Console.WriteLine("Enter size of Array:"); int n = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Enter {0} Elements:", n); int[] a = new int[n]; for (int i = 0; i < n; i++) { a[i] = Convert.ToInt32(Console.ReadLine()); } DelegateArray arr = new DelegateArray(PrintArray); Console.WriteLine("Elements Before Sorting: "); arr(a); arr = SortArray; arr(a); }
public override void Initialize() { _browseCompleteCallback = OnBrowseCompleteCallback; _tracks = new DelegateArray <ITrack>(GetNumberOfTracks, GetTrackAtIndex); _topHitTracks = new DelegateArray <ITrack>(GetNumberOfTopHitTracks, GetTopHitTrackAtIndex); _albums = new DelegateArray <IAlbum>(GetNumberOfAlbums, GetAlbumAtIndex); _similarArtists = new DelegateArray <IArtist>(GetNumberOfSimilarArtists, GetSimilarArtistAtIndex); _portraits = new DelegateArray <IImage>(GetNumberOfPortraits, GetPortraitAtIndex); lock (Spotify.Mutex) { Handle = Spotify.sp_artistbrowse_create( Session.GetHandle(), _artistToBrowse, _browseType, _browseCompleteCallback, IntPtr.Zero); } }
public override void Initialize() { _browseComplete = new Spotify.AlbumBrowseCompleteCallback(OnBrowseCompleteCallback); _tracks = new DelegateArray <ITrack>(GetNumberOfTracks, GetTrackAtIndex); _copyrights = new DelegateArray <string>(GetNumberOfCopyrights, GetCopyrightAtIndex); if (_userData != null) { _userDataHandle = GCHandle.Alloc(_userData); } lock (Spotify.Mutex) { Handle = Spotify.sp_albumbrowse_create( Session.GetHandle(), _albumToBrowse.GetHandle(), _browseComplete, _userDataHandle.IsAllocated ? GCHandle.ToIntPtr(_userDataHandle) : IntPtr.Zero); } }
static void Main(string[] args) { DelegateArray[] delegateArray = new DelegateArray[10]; for (int i = 0; i < delegateArray.Length; i++) { delegateArray[i] += RandomInt; } MessageHandler handler = delegate(DelegateArray[] delegateArrays) { double sum = 0; Console.WriteLine("Random numbers:"); for (int i = 0; i < delegateArray.Length; i++) { sum += delegateArrays[i].Invoke(); } return(sum /= delegateArray.Length); }; Console.WriteLine("\r\nTheir sum is: " + handler(delegateArray)); }
public override void Initialize() { _browseComplete = new Spotify.ToplistBrowseCompleteCallback(OnBrowseCompleteCallback); _tracks = new DelegateArray <ITrack>(GetNumberOfTracks, GetTrackAtIndex); _albums = new DelegateArray <IAlbum>(GetNumberOfAlbums, GetAlbumAtIndex); _artists = new DelegateArray <IArtist>(GetNumberOfArtists, GetArtistAtIndex); if (_userData != null) { _userDataHandle = GCHandle.Alloc(_userData); } lock (Spotify.Mutex) { Handle = Spotify.sp_toplistbrowse_create( Session.GetHandle(), _toplistType, _region, _userName, _browseComplete, _userDataHandle.IsAllocated ? GCHandle.ToIntPtr(_userDataHandle) : IntPtr.Zero); } }
public override void Initialize() { _browseComplete = new Spotify.ToplistBrowseCompleteCallback(OnBrowseCompleteCallback); _tracks = new DelegateArray<ITrack>(GetNumberOfTracks, GetTrackAtIndex); _albums = new DelegateArray<IAlbum>(GetNumberOfAlbums, GetAlbumAtIndex); _artists = new DelegateArray<IArtist>(GetNumberOfArtists, GetArtistAtIndex); if (_userData != null) { _userDataHandle = GCHandle.Alloc(_userData); } lock (Spotify.Mutex) { Handle = Spotify.sp_toplistbrowse_create( Session.GetHandle(), _toplistType, _region, _userName, _browseComplete, _userDataHandle.IsAllocated ? GCHandle.ToIntPtr(_userDataHandle) : IntPtr.Zero); } }
public override void Initialize() { _browseCompleteCallback = OnBrowseCompleteCallback; _tracks = new DelegateArray<ITrack>(GetNumberOfTracks, GetTrackAtIndex); _topHitTracks = new DelegateArray<ITrack>(GetNumberOfTopHitTracks, GetTopHitTrackAtIndex); _albums = new DelegateArray<IAlbum>(GetNumberOfAlbums, GetAlbumAtIndex); _similarArtists = new DelegateArray<IArtist>(GetNumberOfSimilarArtists, GetSimilarArtistAtIndex); _portraits = new DelegateArray<IImage>(GetNumberOfPortraits, GetPortraitAtIndex); lock (Spotify.Mutex) { Handle = Spotify.sp_artistbrowse_create( Session.GetHandle(), _artistToBrowse, _browseType, _browseCompleteCallback, IntPtr.Zero); } }
public override void Initialize() { _browseComplete = new Spotify.AlbumBrowseCompleteCallback(OnBrowseCompleteCallback); _tracks = new DelegateArray<ITrack>(GetNumberOfTracks, GetTrackAtIndex); _copyrights = new DelegateArray<string>(GetNumberOfCopyrights, GetCopyrightAtIndex); if (_userData != null) { _userDataHandle = GCHandle.Alloc(_userData); } lock (Spotify.Mutex) { Handle = Spotify.sp_albumbrowse_create( Session.GetHandle(), _albumToBrowse.GetHandle(), _browseComplete, _userDataHandle.IsAllocated ? GCHandle.ToIntPtr(_userDataHandle) : IntPtr.Zero); } }