Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
            }
        }
Ejemplo n.º 6
0
        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);
            }
        }
Ejemplo n.º 7
0
        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));
        }
Ejemplo n.º 8
0
        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);
            }
        }
Ejemplo n.º 9
0
        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);
            }
        }
Ejemplo n.º 10
0
        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);
            }
        }
Ejemplo n.º 11
0
        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);
            }
        }