C# ASP.NET MVC Basics Modeling and Presenting Data Adding Repository Methods

How to write a method that returns a field from a PRIVATE array??

I posted this question earlier, tried editing it but I get an error without any explanation (so admins please fix this bug). Anyways.. Im stuck at this example..In the video tutorial before this example was a completely different scenario, here it doesnt even make much sense.. why would you want to return a random object from an array? and how do I write this method(That takes no parameters) and returns a field from a PRIVATE array within the same class. Since they both static I`m assuming it would be visible like this VideoGamesRepository._videoGames ? I dont know.. can someone enlighten me here? Thx in advance !

VideoGamesRepository.cs
using Treehouse.Models;

namespace Treehouse.Data
{
    public static class VideoGamesRepository
    {
        // TODO Add GetVideoGames method

        // TODO Add GetVideoGame method
        public  Videogame GetVideoGames()
        {



          return  VideoGame;
        }    

        private static VideoGame[] _videoGames = new VideoGame[]
        {
            new VideoGame()
            {
                Id = 1,
                Title = "Super Mario 64",
                Description = "Super Mario 64 is a 1996 platform video game developed and published by Nintendo for the Nintendo 64.",
                Characters = new string[]
                {
                    "Mario",
                    "Princess Peach",
                    "Bowser",
                    "Toad",
                    "Yoshi"
                },
                Publisher = "Nintendo",
                Favorite = true
            },
            new VideoGame()
            {
                Id = 2,
                Title = "Mario Kart 64",
                Description = "Mario Kart 64 is a 1996 go-kart racing game developed and published by Nintendo for the Nintendo 64 video game console.",
                Characters = new string[]
                {
                    "Mario",
                    "Princess Peach",
                    "Bowser",
                    "Toad",
                    "Yoshi"
                },
                Publisher = "Nintendo",
                Favorite = false
            }
        };
    }
}
VideoGame.cs
namespace Treehouse.Models
{
    // Don't make any changes to this class!
    public class VideoGame
    {
        public int Id { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
        public string[] Characters { get; set; }
        public string Publisher { get; set; }
        public bool Favorite { get; set; }

        public string DisplayText
        {
            get
            {
                return Title + " (" + Publisher + ")";
            }
        }
    }
}

1 Answer

Steven Parker
Steven Parker
173,963 Points

Since _videoGames is private, you can't access it directly from outside of the class using dot notation. That's why you're creating a "getter" method. The method can then be called to access the array (the whole thing, not a random element from it).

Also, notice that in this challenge you will create two methods in different tasks. One has a plural name (ending in "s") and the other has a singular name. Be careful not to get them confused. The singular one will return a single element using an argument that is passed in the call.